aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/libertas/main.c
AgeCommit message (Collapse)Author
2007-11-29libertas: Don't set NETIF_F_IPV6_CSUM in dev->featuresDavid Woodhouse
I'm not sure why it was doing this, and I'm not sure I _want_ to know why. But calling it NETIF_F_DYNALLOC doesn't change the fact that the kernel believes it to be NETIF_F_IPV6_CSUM, and that IPv6 communication is hence buggered. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()Joe Perches
This is nicer than the MAC_FMT stuff. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10drivers/net/: all drivers/net/ cleanup with ARRAY_SIZEDenis Cheng
Signed-off-by: Denis Cheng <crquan@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-10[NET]: Nuke SET_MODULE_OWNER macro.Ralf Baechle
It's been a useless no-op for long enough in 2.6 so I figured it's time to remove it. The number of people that could object because they're maintaining unified 2.4 and 2.6 drivers is probably rather small. [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ] Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10[PATCH] libertas: don't stomp on interface-specific private dataDan Williams
Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: reorganize and simplify init sequenceDan Williams
This patch moves all firmware load responsibility into the interface-specific code and gets rid of the firmware pointer in the generic card structure. It also removes 3 fairly unecessary callbacks: hw_register_dev, hw_unregister_dev, and hw_prog_firmware. It also makes the init sequence from interface probe functions more logical, as there are paired add/remove and start/stop calls into generic libertas code. Because the USB driver code uses the same TX URB callback for both firmware upload (where the generic libertas structure isn't initialized yet) and for normal operation (where it is), some bits of USB code have to deal with 'priv' being NULL. All USB firmware upload bits have been changed to not require 'priv' at all, but simply the USB card structure. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: fix inadvertant removal of bits from commit ↵Dan Williams
831441862956fffa17b9801db37e6ea1650b0f69 Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: bump driver versionDan Williams
Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: pass boot2 version to firmwareLuis Carlos Cobo
Boot2 version used to be hardcoded in the uploaded firmware, this patch preserves the boot2 version before uploading firmware and sends it to the firmware again on resume. Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: push WEXT scan requests to a work queueDan Williams
Push WEXT scan requests to a workqueue and have each partial scan queue the next part, then only report results when the complete scan has finished. Full scans don't go through the work queue. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: monitor mode support for OLPC firmwareLuis Carlos Cobo
Driver support for the monitor mode support that will be available in the next OLPC 'bleeding edge' Marvell firmware release (most likely, 5.110.16.p2). To activate monitor mode, echo mode > /sys/class/net/{ethX,mshX}/device/libertas_rtap where mode is the hex mask that specifies which frames to sniff (in short, 0x1 for data, 0x2 for all management but beacons, 0x4 for beacons). Any non zero mode will activate the monitor mode, inhibiting transmission in ethX and mshX interfaces and routing all the incoming traffic to a new rtapX interface that will output the packets in 802.11+radiotap headers format. Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: keep mesh autostart enabled while asleepLuis Carlos Cobo
After loading the firmware, mesh autostart will be disabled. After that, the user will still be able to enable or disable it at will. On suspend, it will be always activated and later on resume it will go back to the state it had before going to sleep. Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->scantypeHolger Schurig
scantype was initialized with CMD_SCAN_TYPE_ACTIVE, but there is no code that would ever change it, so we can use that variable directly. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->scanmodeHolger Schurig
scanmode was initialized with CMD_BSS_TYPE_ANY, but there is no code that ever can store another value there, so it can go away. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->beaconperiodHolger Schurig
beaconperiod was initialized with MRVDRV_BEACON_INTERVAL, but there is no code that would ever change it's value. We can use the define directly. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->adhoc_grate_enabledHolger Schurig
The variable was initialized with 0 (false). There is no code that would ever change it, so we can use the false-patch directly. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->listenintervalHolger Schurig
listeninterval was initialized with MRVDRV_DEFAULT_LISTEN_INTERVAL, but there exists that would ever change it. So we can use this define directly. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->atimwindowHolger Schurig
This varaible was initialized with 0 but there is no code that would ever change it's value. So it can go away. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->multipledtimHolger Schurig
multipledtim was initialized with MRVDRV_DEFAULT_MULTIPLE_DTIM and then kept at that value, so we could use that define directly. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->locallistenintervalHolger Schurig
locallisteninterval was initialized with 0, but there is no code that changes it, rendering it rather useless. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->{data,bcn}_avg_factorHolger Schurig
Those two variables were initialized with some default values, but there is no code that would ever change them. So we could use as well the defaults directly. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->pkttxctrlHolger Schurig
The variable was initialized to 0 and nowhere else changed, so basically the per-packet TX control wasn't used. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->scanprobesHolger Schurig
The variable was initialized to 0 and nowhere else to anything different. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->prescanHolger Schurig
The value 1 was assigned to it and there was nowhere any code that would have changed that to 0. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove adapter->{rx,tx}antennaHolger Schurig
There was nowhere any code that used the values of those variables. This patch also removes two static functions that are now unused. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: use LBS_DEB_HOST for host-to-card communicationsHolger Schurig
... and LBS_DEB_CMD for command execution. Also tidies misc comments to give a consistent output. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: make the hex dumper nicerHolger Schurig
Currently, when you define LBS_DEB_HEX, you get every hex dump in the whole driver, e.g. for LBS_DEB_CMD, LBS_DEB_RX, LBS_DEB_TX etc. This patch makes sure that you only get the hexdump that you're interested in. Renamed lbs_dbg_hex() into lbs_deb_hex(), like the other lbs_deb_XXX() macros. Made lbs_deb_hex() issue a line feed (and a new prompt) after 16 bytes. As lbs_deb_hex() now prints the ":" after the prompt by itself, removed the misc colons in the various *.c files. lbs_deb_XXX() now print the debug category as well. As lbs_deb_XXX() --- and especially lbs_deb_11d() --- now print the category, I removed various "11D:" prefixes in 11d.c as well. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] Support for mesh autostart deactivation through sysfsLuis Carlos Cobo
echo 0 > /sys/class/net/mshX/autostart_enabled This is supported from Marvell firmware version 5.110.16.p0 (to be released). Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: access mesh_dev more carefullyHolger Schurig
The CF/SDIO firmware doesn't support Mesh, so priv->mesh_dev is NULL there. Protect all accesses. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: uppercase some #definesHolger Schurig
Usually constants defined by #define are in ALL_UPPERCASE. This patch fixes this. I also shuffled the bits around so that they match the bit positions in the host-interrupt-state register of the CF/SDIO card :-) Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: make more functions static & remove unused functionsHolger Schurig
Some functions where declared in header files, but used only once. They are now static functions. After doing this, I found out that some functions weren't used at all. I removed this dead code. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove fw.cHolger Schurig
Firmware download is quite different for different hardware. The SDIO and CF cards have two flat files that need to be downloaded, whereas the USB driver needs only one file, but with an internal structure. The code that handles this (USB only) structured file is currently in fw.c. This patch moves this code into if_usb.c. The remaining functions in fw.c have not much to do with firmware, they are various card- and network-stack initialisation functions. I've moved them into main.c. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: simplify and clean up data rate handlingDan Williams
Remove unused/duplicated fields and consolidate static data rate arrays, for example the libertas_supported_rates[] and datarates[] arrays in the bss_descriptor structure, and the libertas_supported_rates field in the wlan_adapter structure. Introduce libertas_fw_index_to_data_rate and libertas_data_rate_to_fw_index functions and use them everywhere firmware requires a rate index rather than a rate array. The firmware requires the 4 basic rates to have the MSB set, but most other stuff doesn't, like WEXT and mesh ioctls. Therefore, only set the MSB on basic rates when pushing rate arrays to firmware instead of doing a ton of (rate & 0x7f) everywhere. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: wlan_ -> libertas_ function prefix renames for main.cDan Williams
Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: move generic firmware reset command to common codeDan Williams
It's not USB specific, so move it out of the USB interface code. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: bump version to 322.p1Dan Williams
Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: remove thread.h and make kthread usage clearerDan Williams
Remove the thread.h abstractions and opencode kthread stuff to make it clearer. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10[PATCH] libertas: re-uppercase command defines and other constantsDan Williams
For readability. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-07-17Freezer: make kernel threads nonfreezable by defaultRafael J. Wysocki
Currently, the freezer treats all tasks as freezable, except for the kernel threads that explicitly set the PF_NOFREEZE flag for themselves. This approach is problematic, since it requires every kernel thread to either set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't care for the freezing of tasks at all. It seems better to only require the kernel threads that want to or need to be frozen to use some freezer-related code and to remove any freezer-related code from the other (nonfreezable) kernel threads, which is done in this patch. The patch causes all kernel threads to be nonfreezable by default (ie. to have PF_NOFREEZE set by default) and introduces the set_freezable() function that should be called by the freezable kernel threads in order to unset PF_NOFREEZE. It also makes all of the currently freezable kernel threads call set_freezable(), so it shouldn't cause any (intentional) change of behaviour to appear. Additionally, it updates documentation to describe the freezing of tasks more accurately. [akpm@linux-foundation.org: build fixes] Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net> Cc: Pavel Machek <pavel@ucw.cz> Cc: Oleg Nesterov <oleg@tv-sign.ru> Cc: Gautham R Shenoy <ego@in.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-28[PATCH] libertas: remove private ioctlsDan Williams
Signed-off-by: Christoph Hellwig <hch@infradead.org> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-28[PATCH] libertas: style fixesDan Williams
Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-12[PATCH] libertas: convert libertas_mpp into anycast_maskLuis Carlos
With firmware 5.220.11.p5, this allows to specify the anycast addresses the device will listen to. The anycast address range is C0:27:C0:27:C0:XX where XX goes from 00 to 1F (or 0 to 31 in dec). The value to write on anycast_mask will specify which addresses the device listens to. Bits in a 32 bit int are numbered from 0 (least significative bit) to 31. A specific address ending in YY will be listened to if bit YY in the value is set to one. Examples: 0x00000000 : do not listen to any anycast address 0xFFFFFFFF : listen to every anycast address from :00 to :1F 0x00000013 : listen to anycast addresses :00, :01 and :04 Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-12[PATCH] libertas: pull current channel from firmware on mesh autostartLuis Carlos Cobo Rus
Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-11[PATCH] libertas: first pass at fixing up endianness issuesDavid Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-11[PATCH] libertas: support for mesh autostart on firmware 5.220.11Luis Carlos Cobo Rus
Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-11[PATCH] libertas: split wext for eth and mshLuis Carlos Cobo Rus
Separate wireless handlers of mshX and ethX. ethX remains as before. For mshX, it has been disabled set/get essid, wap and set mode. Get mode always returns "Repeater" and by now we use the Nickname to show if the mesh is active ("Mesh") or not (empty). The rest remains as before. Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-11[PATCH] libertas: make mac address configuration work with mesh interface tooLuis Carlos Cobo Rus
Signed-off-by: Luis Carlos Cobo Rus <luiscarlos@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-11[PATCH] libertas: version bump (321p0) and cmds update for new fw (5.220.10.p0)Luis Carlos Cobo Rus
This patch along with the previous commands update one, is necessary for mesh and fwt ioctls to work properly with firmware version 5.220.10.p0 and later. Signed-off-by: Luis Carlos Cobo Rus <luiscarlos@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-11[PATCH] libertas: don't tear down netdev in libertas_activate_cardDan Williams
libertas_activate_card() doesn't create the netdev, and shouldn't free it on error. The caller of libertas_activate_card() is responsible for cleaning up errors from libertas_add_card(), not libertas_activate_card(). Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-06-11[PATCH] libertas: call SET_NETDEV_DEV from common codeDan Williams
Move usage of SET_NETDEV_DEV into common code since it has nothing to do with bus-specific devices. Also fixes a bug where the mesh device was getting SET_NETDEV_DEV called after register_netdevice, resulting in no 'device' link in /sys/class/net/mshX/. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>