aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/b43legacy
AgeCommit message (Collapse)AuthorFilesLines
2009-05-20b43legacy: Remove unnecessary MMIO in interrupt hotpathStefano Brivio3-59/+25
This removes unnecessary MMIO accesses in the interrupt hotpath. The patch by Michael Buesch for b43 has been ported to b43legacy. Signed-off-by: Stefano Brivio <[email protected]> Tested-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-05-06mac80211: unify config_interface and bss_info_changedJohannes Berg1-39/+24
The config_interface method is a little strange, it contains the BSSID and beacon updates, while bss_info_changed contains most other BSS information for each interface. This patch removes config_interface and rolls all the information it previously passed to drivers into bss_info_changed. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-05-06mac80211: clean up beacon interval settingsJohannes Berg1-5/+5
We currently have two beacon interval configuration knobs: hw.conf.beacon_int and vif.bss_info.beacon_int. This is rather confusing, even though the former is used when we beacon ourselves and the latter when we are associated to an AP. This just deprecates the hw.conf.beacon_int setting in favour of always using vif.bss_info.beacon_int. Since it touches all the beaconing IBSS code anyway, we can also add support for the cfg80211 IBSS beacon interval configuration easily. NOTE: The hw.conf.beacon_int setting is retained for now due to drivers still using it -- I couldn't untangle all drivers, some are updated in this patch. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-04-22b43legacy: Clean up beacon IRQLarry Finger4-51/+121
This patch ports commit c97a4ccc1fad35d3 "b43: Fix beacon BH update" to b43legacy. It fixes beacon updating in the bottomhalf. In case the device is busy, we will defer to later in the IRQ handler. Signed-off-by: Larry Finger <[email protected]> Acked-by: Michael Buesch <[email protected]> Tested-by: David Ellingsworth <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-04-22b43legacy: Fixes for beaconingLarry Finger2-8/+43
This patch ports the beaconing fixes from commit a82d992261f "b43: Beaconing fixes" to b43legacy. Basically it prevents the card from triggering the beacon IRQ over and over again. Signed-off-by: Larry Finger <[email protected]> Acked-by: Michael Buesch <[email protected]> Tested-by: David Ellingsworth <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-04-22b43legacy: Do not select HW_RANDOMLarry Finger3-2/+16
Auto-depend on HW_RANDOM, rather than "select"ing it. This way the user has the choice to enable or disable HWRNG support. Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-04-22rfkill: remove user_claim stuffJohannes Berg1-1/+0
Almost all drivers do not support user_claim, so remove it completely and always report -EOPNOTSUPP to userspace. Since userspace cannot really drive rfkill _anyway_ (due to the odd restrictions imposed by the documentation) having this code is just pointless. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-04-07dma-mapping: replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30)Yang Hongyang1-3/+3
Replace all DMA_30BIT_MASK macro with DMA_BIT_MASK(30) Signed-off-by: Yang Hongyang<[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-04-07dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)Yang Hongyang1-4/+4
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) Signed-off-by: Yang Hongyang<[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-04-07dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)Yang Hongyang1-3/+3
Replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) Signed-off-by: Yang Hongyang<[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-02-09b43legacy: fix led namingDanny Kukawka1-4/+4
Fixed led device naming for the b43legacy driver. Due to the documentation of the led subsystem/class the naming should be "devicename:colour:function" while not applying sections should be left blank. This should lead to e.g. "b43legacy-%s::rx" instead of "b43legacy-%s:rx". Signed-off-by: Danny Kukawka <[email protected]> Acked-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-01-29wireless: restrict to 32 legacy ratesJohannes Berg1-1/+1
Since the standards only define 12 legacy rates, 32 is certainly a sane upper limit and we don't need to use u64 everywhere. Add sanity checking that no more than 32 rates are registered and change the variables to u32 throughout. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-01-13b43legacy: fix "‘up_dev’ may be used uninitialized" warningJohn W. Linville1-1/+1
drivers/net/wireless/b43legacy/main.c: In function ‘b43legacy_op_dev_config’: drivers/net/wireless/b43legacy/main.c:2468: warning: ‘up_dev’ may be used uninitialized in this function Signed-off-by: John W. Linville <[email protected]>
2008-12-12b43legacy: Fix sparse warningsLarry Finger2-5/+3
Sparse yields the following warnings for b43legacy: CHECK drivers/net/wireless/b43legacy/phy.c drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction CHECK drivers/net/wireless/b43legacy/debugfs.c drivers/net/wireless/b43legacy/debugfs.c:243:9: warning: memset with byte count of 131072 Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-11-21b43legacy: implement short slot and basic rate handlingJohannes Berg2-13/+103
This implements proper short slot handling and adds code to program the hardware for the correct response rates derived from the basic rate set for the current BSS. (port from b43) Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-11-10b43legacy: reindent misleading statementIlpo Järvinen1-1/+1
Signed-off-by: Ilpo Järvinen <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-11-10b43/legacy: remove SSID codeJohannes Berg1-24/+0
The SSID programmed into the device is used by the ucode only to reply to probe requests, a functionality we disable anyway because it doesn't fit with the mac80211/hostapd programming model. Therefore, it isn't useful to program the SSID into device. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-10-31mac80211/drivers: rewrite the rate control APIJohannes Berg5-25/+82
So after the previous changes we were still unhappy with how convoluted the API is and decided to make things simpler for everybody. This completely changes the rate control API, now taking into account 802.11n with MCS rates and more control, most drivers don't support that though. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-10-31mac80211: make retry limits part of hw configJohannes Berg1-37/+22
Instead of having a separate callback, use the HW config callback with a new flag to change retry limits. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-10-31mac80211: introduce hw config change flagsJohannes Berg1-1/+2
This makes mac80211 notify the driver which configuration actually changed, e.g. channel etc. No driver changes, this is just plumbing, driver authors are expected to act on this if they want to. Also remove the HW CONFIG debug printk, it's incorrect, often we configure something else. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-10-31mac80211: kill hw.conf.antenna_sel_{rx,tx}Johannes Berg1-16/+2
Never actually used. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-10-06mac80211: add multi-rate retry supportFelix Fietkau2-1/+2
This patch adjusts the rate control API to allow multi-rate retry if supported by the driver. The ieee80211_hw struct specifies how many alternate rate selections the driver supports. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-10-06mac80211: free up 2 bytes in skb->cbFelix Fietkau1-2/+2
Free up 2 bytes in skb->cb to be used for multi-rate retry later. Move iv_len and icv_len initialization into key alloc. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-10-01Merge branch 'master' of ↵David S. Miller1-18/+0
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath9k/core.c drivers/net/wireless/ath9k/main.c net/core/dev.c
2008-09-16Revert "b43/b43legacy: add RFKILL_STATE_HARD_BLOCKED support"Linus Torvalds1-18/+0
This reverts commit bc19d6e0b74ef03a3baf035412c95192b54dfc6f, which as Larry Finger reports causes the radio LED on his system to no longer respond to rfkill switch events. Reported-by: Larry Finger <[email protected]> Requested-by: John W. Linville <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-09-15mac80211: share STA information with driverJohannes Berg1-1/+1
This patch changes mac80211 to share some more data about stations with drivers. Should help iwlwifi and ath9k when they get around to updating, and might also help with implementing rate control algorithms without internals. Signed-off-by: Johannes Berg <[email protected]> Cc: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-09-15mac80211: use nl80211 interface typesJohannes Berg2-17/+17
There's really no reason for mac80211 to be using its own interface type defines. Use the nl80211 types and simplify the configuration code a bit: there's no need to translate them any more now. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-09-11b43legacy: Fix to enhance TX speedEhud Gavron1-13/+19
Recent changes in the specifications have improved the performance of the BCM4306/2 devices that use b43legacy as the driver. These "errors" in the specs have been present from the very first implementation of bcm43xx. Signed-off-by: Ehud Gavron <[email protected]> Tested-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-09-11b43legacy: Fix failure in rate-adjustment mechanismLarry Finger1-1/+1
A coding error present since b43legacy was incorporated into the kernel has prevented the driver from using the rate-setting mechanism of mac80211. The driver has been forced to remain at a 1 Mb/s rate. Signed-off-by: Larry Finger <[email protected]> Cc: Stable <[email protected]> [2.6.26], [2.6.25] Signed-off-by: John W. Linville <[email protected]>
2008-09-05cfg80211: keep track of supported interface modesLuis R. Rodriguez1-0/+5
It is obviously good for userspace to know up front which interface modes a given piece of hardware might support (even if adding such an interface might fail later because of concurrency issues), so let's make cfg80211 aware of that. For good measure, disallow adding interfaces in all other modes so drivers don't forget to announce support for one mode when they add it. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Stephen Blackheath <[email protected]> Signed-off-by: Ivo van Doorn <[email protected]> Signed-off-by: Luis R. Rodriguez <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-08-29wireless: remove unused #include <version.h>Huang Weiyi1-1/+0
The driver(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/wireless/b43legacy/main.c drivers/net/wireless/iwlwifi/iwl-3945-led.c drivers/net/wireless/iwlwifi/iwl-led.c drivers/net/wireless/iwlwifi/iwl-rfkill.c This patch removes the said #include <version.h>. Signed-off-by: Huang Weiyi <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-08-23removed unused #include <linux/version.h>'sAdrian Bunk1-1/+0
This patch lets the files using linux/version.h match the files that #include it. Signed-off-by: Adrian Bunk <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-08-22b43legacy: use le16 frame control directly, avoid byteswappingHarvey Harrison1-3/+1
Acked-by: Michael Buesch <[email protected]> Signed-off-by: Harvey Harrison <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-07-29mac80211: partially fix skb->cb useJohannes Berg1-1/+1
This patch fixes mac80211 to not use the skb->cb over the queue step from virtual interfaces to the master. The patch also, for now, disables aggregation because that would still require requeuing, will fix that in a separate patch. There are two other places (software requeue and powersaving stations) where requeue can happen, but that is not currently used by any drivers/not possible to use respectively. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-07-29b43legacy: Release mutex in error handling codeJulia Lawall1-1/+1
The mutex is released on a successful return, so it would seem that it should be released on an error return as well. The semantic patch finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression l; @@ mutex_lock(l); ... when != mutex_unlock(l) when any when strict ( if (...) { ... when != mutex_unlock(l) + mutex_unlock(l); return ...; } | mutex_unlock(l); ) // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michael Buesch <[email protected]> Cc: stable <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-07-29mac80211: remove IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE flagJohannes Berg1-2/+1
I forgot this in the previous patch that made it unused. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-07-14mac80211: fix TX sequence numbersJohannes Berg1-2/+1
This patch makes mac80211 assign proper sequence numbers to QoS-data frames. It also removes the old sequence number code because we noticed that only the driver or hardware can assign sequence numbers to non-QoS-data and especially management frames in a race-free manner because beacons aren't passed through mac80211's TX path. This patch also adds temporary code to the rt2x00 drivers to not break them completely, that code will have to be reworked for proper sequence numbers on beacons. It also moves sequence number assignment down in the TX path so no sequence numbers are assigned to frames that are dropped. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-07-14mac80211: revamp beacon configurationJohannes Berg1-28/+17
This patch changes mac80211's beacon configuration handling to never pass skbs to the driver directly but rather always require the driver to use ieee80211_beacon_get(). Additionally, it introduces "change flags" on the config_interface() call to enable drivers to figure out what is changing. Finally, it removes the beacon_update() driver callback in favour of having IBSS beacon delivered by ieee80211_beacon_get() as well. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-07-08b43legacy: Remove switch statement with 64-bit indexLarry Finger1-15/+51
The gcc 3.4 fork used to compile the MN10300 port emits unwanted __ucmpdi2() calls for switch statements that use a 64bit value. This patch removes such a switch from b43legacy, and makes the code more like that used in b43. Thanks to Adrian Bunk <[email protected]> for reporting the problem. Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-30b43/b43legacy: add RFKILL_STATE_HARD_BLOCKED supportAdel Gadllah1-0/+18
This patch sets the rfkill state to RFKILL_STATE_HARD_BLOCKED when the radio is killed by the hardware switch. Signed-off-by: Adel Gadllah <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-30b43/b43legacy: use RFKILL_STATE_UNBLOCKED instead of RFKILL_STATE_ONAdel Gadllah1-1/+1
This patch removes the usage RFKILL_STATE_ON and uses RFKILL_STATE_UNBLOCKED instead. Signed-off-by: Adel Gadllah <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-28Merge branch 'master' of ↵David S. Miller3-43/+44
master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6
2008-06-28Merge branch 'master' of ↵David S. Miller2-3/+5
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl4965-base.c
2008-06-27wireless: remove RFKILL_STATE_HARD_BLOCKED warningsJohn W. Linville1-2/+6
CC [M] drivers/net/wireless/b43/rfkill.o drivers/net/wireless/b43/rfkill.c: In function ‘b43_rfkill_soft_toggle’: drivers/net/wireless/b43/rfkill.c:90: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch CC [M] drivers/net/wireless/b43legacy/rfkill.o drivers/net/wireless/b43legacy/rfkill.c: In function ‘b43legacy_rfkill_soft_toggle’: drivers/net/wireless/b43legacy/rfkill.c:92: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch CC [M] drivers/net/wireless/iwlwifi/iwl-rfkill.o drivers/net/wireless/iwlwifi/iwl-rfkill.c: In function ‘iwl_rfkill_soft_rf_kill’: drivers/net/wireless/iwlwifi/iwl-rfkill.c:56: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch Also handle RFKILL_STATE_{ON,OFF} -> RFKILL_STATE_{UNBLOCKED,SOFT_BLOCKED} conversion since I'm already here... Signed-off-by: John W. Linville <[email protected]>
2008-06-27ssb, b43, b43legacy, b44: Rewrite SSB DMA APIMichael Buesch1-32/+31
This is a rewrite of the DMA API for SSB devices. This is needed, because the old (non-existing) "API" made too many bad assumptions on the API of the host-bus (PCI). This introduces an almost complete SSB-DMA-API that maps to the lowlevel bus-API based on the bustype. Signed-off-by: Michael Buesch <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-26b43legacy: use frame control helpersHarvey Harrison1-9/+7
Signed-off-by: Harvey Harrison <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-25b43legacy: Fix possible NULL pointer dereference in DMA codeMichael Buesch1-1/+1
This fixes a possible NULL pointer dereference in an error path of the DMA allocation error checking code. This is also necessary for a future DMA API change that is on its way into the mainline kernel that adds an additional dev parameter to dma_mapping_error(). Signed-off-by: Michael Buesch <[email protected]> Cc: stable <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-25b43legacy: Do not return TX_BUSY from op_txMichael Buesch1-2/+4
Never return TX_BUSY from op_tx. It doesn't make sense to return TX_BUSY, if we can not transmit the packet. Drop the packet and return TX_OK. Signed-off-by: Michael Buesch <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-10Merge branch 'master' of ↵David S. Miller2-9/+10
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/tg3.c drivers/net/wireless/rt2x00/rt2x00dev.c net/mac80211/ieee80211_i.h
2008-06-04b43legacy: Fix controller restart crashMichael Buesch1-8/+9
This fixes a kernel crash on rmmod, in the case where the controller was restarted before doing the rmmod. Signed-off-by: Michael Buesch <[email protected]> Signed-off-by: John W. Linville <[email protected]>