aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath
Commit message (Collapse)AuthorAge
...
* ath9k: Split eeprom.c into manageable piecesSujith2009-08-14
| | | | | | | | Add eeprom_def.c, eeprom_4k.c and eeprom_9287.c This improves maintainability. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Remove a few DEBUG mesagesSujith2009-08-14
| | | | | | | We have never used these at all. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Try to fix whitespace damageSujith2009-08-14
| | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Cleanup function return typesSujith2009-08-14
| | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Remove unneeded assignment of protocol fieldSujith2009-08-14
| | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: use new FIF_PSPOLL configure filterLuis R. Rodriguez2009-08-14
| | | | | | | | | | | | We used to set pspoll filter on ath9k on AP mode but we no longer need this mode specific check as mac80211 now does the check for us and informs us when we should enable pspoll through FIF_PSPOLL. Cc: Igor Perminov <igor.perminov@inbox.ru> Cc: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath5k: fix missing output in monitor mode after ifconfig upJoerg Albert2009-08-14
| | | | | | | | | | | | | | | | | Let ath5k_chan_set() always call ath5k_reset(). This fixes the bug that we don't get any packets in monitor mode after: ifconfig wlan0 down iwconfig wlan0 mode monitor channel 1 ifconfig wlan0 up but they arrive after iwconfig wlan0 channel 2 Signed-off-by: Joerg Albert <jal2@gmx.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'master' of ↵David S. Miller2009-08-12
|\ | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: arch/microblaze/include/asm/socket.h
| * ar9170: fix read & write outside array boundsDan Carpenter2009-08-10
| | | | | | | | | | | | | | | | | | | | | | | | queue == __AR9170_NUM_TXQ would cause a bug on the next line. found by Smatch ( http://repo.or.cz/w/smatch.git ). Cc: stable@kernel.org Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ar9170usb: fix spurious firmware related messageChristian Lamparter2009-08-10
| | | | | | | | | | | | | | | | When ar9170-2.fw was missing, the driver erroneously complained about missing the initialization values file ar9170-1.fw... Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: fix compile warning on ath9k_hw_AR9287_check_eeprom()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | CC [M] drivers/net/wireless/ath/ath9k/eeprom.o drivers/net/wireless/ath/ath9k/eeprom.c: In function ‘ath9k_hw_AR9287_check_eeprom’: drivers/net/wireless/ath/ath9k/eeprom.c:2866: warning: comparison of distinct pointer types lacks a cast Cc: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: cancel xmit poll work at stop() callbackLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We forgot to cancel this work at the stop() callback. ------------[ cut here ]------------ WARNING: at net/mac80211/util.c:511 ieee80211_queue_delayed_work+0x3a/0x40 [mac80211]() Hardware name: 6460DWU queueing ieee80211 work while going to suspend Modules linked in: <-- snip --> Pid: 5124, comm: phy0 Tainted: G W 2.6.31-rc3-wl #4 Call Trace: [<ffffffffa03adcda>] ? ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [<ffffffff810552b8>] warn_slowpath_common+0x78/0xd0 [<ffffffff81055394>] warn_slowpath_fmt+0x64/0x70 [<ffffffff814ed2c9>] ? thread_return+0x3e/0x635 [<ffffffffa03adcda>] ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [<ffffffffa0297690>] ath_tx_complete_poll_work+0xc0/0x100 [ath9k] [<ffffffffa02975d0>] ? ath_tx_complete_poll_work+0x0/0x100 [ath9k] [<ffffffff81069b68>] worker_thread+0x178/0x260 [<ffffffff8106ecc0>] ? autoremove_wake_function+0x0/0x40 [<ffffffff810699f0>] ? worker_thread+0x0/0x260 [<ffffffff8106e89e>] kthread+0x9e/0xb0 [<ffffffff8101302a>] child_rip+0xa/0x20 [<ffffffff8106e800>] ? kthread+0x0/0xb0 [<ffffffff81013020>] ? child_rip+0x0/0x20 Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: add initial hardware support for ar9271Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | We will finalize this after some driver core changes, for now we leave this unsupported. Cc: Stephen Chen <stephen.chen@atheros.com> Cc: Zhifeng Cai <zhifeng.cai@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: add initvals and registry definitions for AR9271Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | Cc: Stephen Chen <stephen.chen@atheros.com> Cc: Zhifeng Cai <zhifeng.cai@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: add ar9271 revision and subrevision ID helpersLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | These will be used later to add support for ar9271. Cc: Stephen Chen <stephen.chen@atheros.com> Cc: Zhifeng Cai <zhifeng.cai@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Remove _t postfix for ar9287_eeprom structureLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | We don't use typdefs on ath9k, remove that _t. Cc: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove spurious check for channel on keycache resetLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | ath9k_hw_keyreset() has a spurious check for ah->curchan.. remove it. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove dangling error check on keycache reset on hw initLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | The keycache reset will not fail as right above we ensure to set the sc->keymax to be <= ah->caps.keycache_size. Just remove this dangling check. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: call ath9k_hw_detach() once upon hw init failureLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If hw initialization fails (ath9k_hw_init()) on ath_init_softc() we bail out and call ath9k_hw_detach(). The call ath9k_hw_detach() is conditional though as ath9k_hw_init() could itself have called ath9k_hw_detach(). Just describing this is itself a brain twister. Avoid this nonsense by removing ath9k_hw_detach() from ath9k_hw_init(). Upon hw initialization failure we expect the callers to take care of the cleanup. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: set sc->sc_ah to NULL after freeing itLuis R. Rodriguez2009-08-04
| | | | | | | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: set ah to null after freeingLuis R. Rodriguez2009-08-04
| | | | | | | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: rename ath9k_hw_ani_detach() to ath9k_hw_ani_disable()Luis R. Rodriguez2009-08-04
| | | | | | | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: rename ath9k_hw_rfdetach() to ath9k_hw_rf_free()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | This makes it clear what this does. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: use helper macro to kfree and nullify on ath9k_hw_rfdetach()Luis R. Rodriguez2009-08-04
| | | | | | | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove !NULL check before kfree()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | kfree(NULL) works so remove all those branches which check for it before kfree()'ing on ath9k_hw_rfdetach(). Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: distinguish between device initialization and ath_softc initLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | We re-label the device driver initialization routines from the ath_softc, the "Software Carrier" fillers. This should make it clearer what each of these do. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: describe hw initialization betterLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | During initialization ath9k tends to use "attach" to when we initialize hardware due to the fact we used to attach a "HAL". The notion of a HAL is long gone, so lets just be clear on what we are doing. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: break up hw initialization into a few more helpersLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes reading the hardware initialization process easier to understand. The new helpers added are: ath9k_hw_init_cal_settings() ath9k_hw_init_mode_regs() ath9k_hw_init_mode_gain_regs() ath9k_hw_init_11a_eeprom_fix() This patch has no functional changes. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove debug message for no memoery on ath_init()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | We're now propagating the -ENOMEM error so there is no need to keep a debug message there now. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: rename ath9k_hw_set_defaults() to ath9k_hw_init_config()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: rename ath9k_hw_newstate() to ath9k_hw_init_defaults()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: move hw macrevision checker to helperLuis R. Rodriguez2009-08-04
| | | | | | | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: pass only one argument to hw attachLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | The softc is cached and set within the ath_hw struct. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: call hw initializer directlyLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | ath9k_hw_attach() was going first through some device id verifier, and then calling some other helper which was doing the real hardware initialization. Lets just do the devid checks within the real worker by calling a helper ath9k_hw_devid_supported(). Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: move cache setting of softc ah prior to attachLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | We do this in case attach and friends try to get back to ah from the softc somehow. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: move devid cache setting to ath_init()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | This lets us trim one argument off of hw initializer routines. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: move memory allocation of ath_hw to ath_init()Luis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | This lets us simplify attach code and arguments passed. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: propagate hw initialization errorsLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | We were never propagating hw initialization errors, lets do that now and also use -EOPNOTSUPP when device revision is not supported yet. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: use a switch for revising supported hw mac revisionsLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | This makes adding new hw revisions a one line change here. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove usage of AR_SREV_*() wrapper to detect supported hwLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | We will clean this up next to just use a switch. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | mac80211: redefine usage of the mac80211 workqueueLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mac80211 workqueue exists to enable mac80211 and drivers to queue their own work on a single threaded workqueue. mac80211 takes care to flush the workqueue during suspend but we never really had requirements on drivers for how they should use the workqueue in consideration for suspend. We extend mac80211 to document how the mac80211 workqueue should be used, how it should not be used and finally move raw access to the workqueue to mac80211 only. Drivers and mac80211 use helpers to queue work onto the mac80211 workqueue: * ieee80211_queue_work() * ieee80211_queue_delayed_work() These helpers will now warn if mac80211 already completed its suspend cycle and someone is trying to queue work. mac80211 flushes the mac80211 workqueue prior to suspend a few times, but we haven't taken the care to ensure drivers won't add more work after suspend. To help with this we add a warning when someone tries to add work and mac80211 already completed the suspend cycle. Drivers should ensure they cancel any work or delayed work in the mac80211 stop() callback. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath5k: fix CAB queue operationBob Copeland2009-08-04
| | | | | | | | | | | | | | | | | | We need to process tx descriptors for all queues (currently main tx queue and cabq) which may have triggered the TX completion interrupt. Otherwise, the queues can get stuck after sending a few frames. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ar9170: remove EXPERIMENTAL markerLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | Cc: Christian Lamparter <chunkeey@web.de> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath5k: update PCU opmode whenever a new interface is addedBob Copeland2009-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we would store the operating mode at interface up time, but only update the PCU registers when the next reset happened. The result is that if beacon configuration (ops->bss_info_changed) happens before ops->config, we will program the wrong things into the timer registers. Consequently, beacons won't work in AP mode until after a reset (channel change, scan etc.). This is fragile anyway so just program the opmode as soon as mac80211 gives it to us. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Remove unused ath9k_hw_intrget()Vasanthakumar Thiagarajan2009-08-04
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Maintain monotonicity of PER while going across different phyVasanthakumar Thiagarajan2009-08-04
| | | | | | | | | | | | | | | | | | Monotonicity of packet error rate should be kept when moving from one phy to another (legacy to ht, ht single stream to dual, etc). Current code skips updating per for other phys. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Update rate control for 11NA HT40 modeVasanthakumar Thiagarajan2009-08-04
| | | | | | | | | | | | | | | | | | | | | | Now the lowest rate in 11na ht40 mode is 13.5Mbps this shortens the range when compared to 11na ht20 mode where the lowest rate is 6.5Mbps. To improve the range, make 6.5Mbps as the lowest rate in 11na ht40 mode, this improves the range by approximately 2dB. 11ng ht40 does not have this issue as it also has basic rates (1, 2, 5.5 and 11). Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath5k: remove EXPERIMENTAL markerLuis R. Rodriguez2009-08-04
| | | | | | | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath: use menuconfig to put ath stuff in its own pageLuis R. Rodriguez2009-08-04
| | | | | | | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath: simplify kconfig dependency and add documentationLuis R. Rodriguez2009-08-04
| | | | | | | | | | | | | | | | | | Make atheros wireless drivers visible when you select "Atheros wirless drivers". Adds links to ath.ko page, and Atheros drivers page on the wiki. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>