aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k
Commit message (Collapse)AuthorAge
...
* | ath9k: Remove all the sc_ prefixesSujith2009-02-13
| | | | | | | | | | | | | | | | This patch removes the useless sc_ prefixes for all variables. Also, refer to interfaces as VIFs and not as VAPs anymore. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Convert ANI channel to a pointerSujith2009-02-13
| | | | | | | | | | | | | | | | This patch converts the ANI channel reference to a pointer, this facilitates moving struct ar5416AniState to ani.h Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Header file cleanupSujith2009-02-13
| | | | | | | | | | | | | | Split the core header files into manageable pieces. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Add retry counters to rate control debug fileSujith2009-02-11
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Handle mac80211's FIF_CONTROL flag properlySujith2009-02-11
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Remove all the redundant internal buffer typesSujith2009-02-11
| | | | | | | | | | | | | | | | Use mac80211's primitives for identifying the frame type, and cleanup the driver-specific macros. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Lock mac80211 callbacks with a mutexSujith2009-02-11
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: fix reg_notifier() flags used upon a country IELuis R. Rodriguez2009-02-09
| | | | | | | | | | | | | | The nl80211 rule flags were being used. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: fix led namingDanny Kukawka2009-02-09
| | | | | | | | | | | | | | | | | | | | | | | | Fixed led device naming for the ath9k 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. "ath9k-%s::rx" instead of "ath9k-%s:rx". Signed-off-by: Danny Kukawka <dkukawka@suse.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Add debugfs files for printing TX rate detailsSujith2009-02-09
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Handle mac80211's RC flags for MCS ratesSujith2009-02-09
| | | | | | | | | | | | | | | | | | | | | | mac80211 notifies the RC algorithm if RTS/CTS and short preamble are needed. The RC flags for MCS rates are currently not handled by mac80211, and ath9k's RC doesn't set the flags either. Fix this. Also, set the rts_cts_rate_idx inside the RC algorithm. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Cleanup get_rate() interfaceSujith2009-02-09
| | | | | | | | | | | | | | | | | | The interface to calculate the TX rate for a data frame was convoluted with lots of redundant arguments being passed around. Remove all of that and make it simple. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix LED blink patternVasanthakumar Thiagarajan2009-02-09
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Remove a bunch of unused macrosSujith2009-02-09
| | | | | | | | | | | | | | | | RX filter masks are already defined in enum ath9k_rx_filter in ath9k.h Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix typo in checking for chip revisionSujith2009-02-09
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove passive scan on 5 GHz if country IE knows betterLuis R. Rodriguez2009-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have new found information about our location and the current country regulatory domain does not have passive scan flag requirements we should be able to actively scan now on those channels. Since AP functionality is not allowed where passive scan flags are set this means if you have a world regulatory domain and you get a country IE that allows that channel (with active scan) then we lift the passive-scan requirement so you can then use AP mode. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: move check for radar freqs into a helperLuis R. Rodriguez2009-02-09
| | | | | | | | | | | | | | This will be used later. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: replace usage of internal wireless_modes for confLuis R. Rodriguez2009-02-09
| | | | | | | | | | | | | | | | No need to use our internal wireless mode variable when cfg80211 already has its own. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Enable MIB and TIM interrupts for station mode.Vivek Natarajan2009-02-09
| | | | | | | | | | | | | | | | Enable operating mode specific interrupts in ath9k_add_interface instead of ath9k_start. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix lockdep warningSujith2009-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the lockdep warning shown below, and also initializes the starting sequence number when starting a TX aggregation session. ============================================= [ INFO: possible recursive locking detected ] 2.6.29-rc2-wl #21 --------------------------------------------- swapper/0 is trying to acquire lock: (_xmit_IEEE80211#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290 but task is already holding lock: (_xmit_IEEE80211#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290 other info that might help us debug this: 7 locks held by swapper/0: #0: (rcu_read_lock){..--}, at: [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620 #1: (_xmit_ETHER#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290 #2: (rcu_read_lock){..--}, at: [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620 #3: (_xmit_IEEE80211#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290 #4: (rcu_read_lock){..--}, at: [<ffffffffa0154919>] ieee80211_master_start_xmit+0x219/0x6c0 [mac80211] #5: (rcu_read_lock){..--}, at: [<ffffffffa01427c6>] ieee80211_start_tx_ba_session+0x66/0x4e0 [mac80211] #6: (rcu_read_lock){..--}, at: [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620 stack backtrace: Pid: 0, comm: swapper Not tainted 2.6.29-rc2-wl #21 Call Trace: <IRQ> [<ffffffff8026c329>] __lock_acquire+0x1be9/0x1c40 [<ffffffff80442af1>] dev_queue_xmit+0xe1/0x620 [<ffffffff8026a8cc>] __lock_acquire+0x18c/0x1c40 [<ffffffff8026c3d5>] lock_acquire+0x55/0x70 [<ffffffff80456d71>] __qdisc_run+0x221/0x290 [<ffffffff804dbeb9>] _spin_lock+0x39/0x50 [<ffffffff80456d71>] __qdisc_run+0x221/0x290 [<ffffffff804dbd2f>] _spin_unlock+0x1f/0x50 [<ffffffff80456d71>] __qdisc_run+0x221/0x290 [<ffffffff80442d18>] dev_queue_xmit+0x308/0x620 [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620 [<ffffffffa0142a63>] ieee80211_start_tx_ba_session+0x303/0x4e0 [mac80211] [<ffffffffa01427c6>] ieee80211_start_tx_ba_session+0x66/0x4e0 [mac80211] [<ffffffffa0149dae>] rate_control_get_rate+0xae/0xc0 [mac80211] [<ffffffffa01526b5>] invoke_tx_handlers+0x655/0x1000 [mac80211] [<ffffffff802699fd>] mark_held_locks+0x4d/0x90 [<ffffffff804dbcf5>] _spin_unlock_irqrestore+0x65/0x80 [<ffffffffa0151aaa>] __ieee80211_tx_prepare+0x16a/0x310 [mac80211] [<ffffffffa0151adc>] __ieee80211_tx_prepare+0x19c/0x310 [mac80211] [<ffffffff80439cc2>] pskb_expand_head+0x112/0x190 [<ffffffffa0154986>] ieee80211_master_start_xmit+0x286/0x6c0 [mac80211] [<ffffffffa0154919>] ieee80211_master_start_xmit+0x219/0x6c0 [mac80211] [<ffffffff8026a8cc>] __lock_acquire+0x18c/0x1c40 [<ffffffff80456d8e>] __qdisc_run+0x23e/0x290 [<ffffffff80442d18>] dev_queue_xmit+0x308/0x620 [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620 [<ffffffffa0154221>] ieee80211_subif_start_xmit+0x4a1/0x980 [mac80211] [<ffffffffa0153f18>] ieee80211_subif_start_xmit+0x198/0x980 [mac80211] [<ffffffff80456d8e>] __qdisc_run+0x23e/0x290 [<ffffffff80442d18>] dev_queue_xmit+0x308/0x620 [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620 [<ffffffffa028ecfd>] ip6_output+0x62d/0x1230 [ipv6] [<ffffffff8024ca00>] __mod_timer+0xb0/0xd0 [<ffffffffa02ad25a>] mld_sendpack+0x3fa/0x4a0 [ipv6] [<ffffffffa02ace60>] mld_sendpack+0x0/0x4a0 [ipv6] [<ffffffffa02adf90>] mld_ifc_timer_expire+0x0/0x340 [ipv6] [<ffffffffa02ae219>] mld_ifc_timer_expire+0x289/0x340 [ipv6] [<ffffffffa02adf90>] mld_ifc_timer_expire+0x0/0x340 [ipv6] [<ffffffff8024c097>] run_timer_softirq+0x147/0x220 [<ffffffff802473fb>] __do_softirq+0x9b/0x180 [<ffffffff80265516>] tick_dev_program_event+0x36/0xb0 [<ffffffff8020d77c>] call_softirq+0x1c/0x30 [<ffffffff8020f2c5>] do_softirq+0x65/0xb0 [<ffffffff80246ebd>] irq_exit+0x9d/0xc0 [<ffffffff80221db6>] smp_apic_timer_interrupt+0x86/0xd0 [<ffffffff8020d1b3>] apic_timer_interrupt+0x13/0x20 Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix bug in TX DMA terminationSujith2009-01-30
| | | | | | | | | | | | | | | | | | Removing the module was slow because ath9k_hw_stopdma() was looping for a long time quantum. Use reasonable values now to fix this issue. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Setup short preamble properly in rate registrationSujith2009-01-30
| | | | | | | | | | | | | | | | | | This patch fixes an issue where hw_value_short was not being filled with the proper ratecode during rate registration, but was being used in the RX path for decoding the packet rate. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix station access in aggregation completionSujith2009-01-30
| | | | | | | | | | | | | | | | | | | | The ieee80211_sta pointer in the SKB's TX control info area is not guaranteed to be valid after returning from the tx() callback. Use ieee80211_find_sta() instead and return early if the station is no longer present. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Reconfigure beacons on getting a notification from mac80211Sujith2009-01-30
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Handle chainmask for A9280Sujith2009-01-30
| | | | | | | | | | | | | | | | | | The default chainmask for AR9280 is 3, so handle that when setting the supported MCS rates. Also, check for the HW supported chainmask when choosing single/dual stream. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: remove useless ath9k driver version informationLuis R. Rodriguez2009-01-29
| | | | | | | | | | | | | | | | | | | | Versioning for ath9k is pointless we have kept it at 0.1 since the initial release so its meaningless. We put more emphasis on kernel release or dated wireless-testing master tag as per John's tagging. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix AR9285 specific noise floor eeprom reads.Senthil Balasubramanian2009-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix AR9285 specific noise floor reads and initialize tx and rx chainmask during reset. This along with the following earlier patches of ath9k fixes an issue with association noticed in noisy environment. ath9k: Fix typo in chip version check ath9k: Remove unnecessary gpio configuration in ath9k_hw_reset() ath9k: Fix bug in NF calibration Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: fix debug print on regdLuis R. Rodriguez2009-01-29
| | | | | | | | | | | | | | | | | | | | With debugging enabled and with ATH_DBG_REGULATORY selected we wouldn't get the full print out of one line, reason is we used "," instead of nothing to separate two lines. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | mac80211: Generic TSF debuggingAlina Friedrichsen2009-01-29
| | | | | | | | | | | | | | This patch enables low-level driver independent debugging of the TSF and remove the driver specific things of ath5k and ath9k from the debugfs. Signed-off-by: Alina Friedrichsen <x-alina@gmx.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Clean up the way the eeprom antenna configuration is readVasanthakumar Thiagarajan2009-01-29
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Remove unused ath9k_hw_select_antconfig() from hw.cVasanthakumar Thiagarajan2009-01-29
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix bug in NF calibrationSujith2009-01-29
| | | | | | | | | | | | | | | | The number of chainmasks for AR9285 weren't being setup when running NF calibration. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix bug in rate control capability registrationSujith2009-01-29
| | | | | | | | | | | | | | | | Dual stream capability must be registered only when the hardware supports it. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix MCS rates registration bug for AR9285Sujith2009-01-29
| | | | | | | | | | | | | | | | | | AR9285 based devices support only single stream MCS rates. This patch fixes a bug where dual stream stream rates were also being registered. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Read and write the TSF via debugfsAlina Friedrichsen2009-01-29
| | | | | | | | | | | | | | This patch adds an ath9k specific entry to read, write and reset the TSF into the debugfs, like in ath5k. This makes debugging the IBSS handling of wifi drivers _much_ easier. Signed-off-by: Alina Friedrichsen <x-alina@gmx.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: simplify regulatory codeLuis R. Rodriguez2009-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that cfg80211 has its own regulatory infrastructure we can condense ath9k's regulatory code considerably. We only keep data we need to provide our own regulatory_hint(), reg_notifier() and information necessary for calibration. Atheros hardware supports 12 world regulatory domains, since these are custom we apply them through the the new wiphy_apply_custom_regulatory(). Although we have 12 we can consolidate these into 5 structures based on frequency and apply a different set of flags that differentiate them on a case by case basis through the reg_notifier(). If CRDA is not found our own custom world regulatory domain is applied, this is identical to cfg80211's except we enable passive scan on most frequencies. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Remove unnecessary gpio configuration in ath9k_hw_reset()Vasanthakumar Thiagarajan2009-01-29
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Fix typo in chip version checkVasanthakumar Thiagarajan2009-01-29
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Enable dynamic power save in ath9k.Vivek Natarajan2009-01-29
| | | | | | | | | | | | | | This patch implements dynamic power save feature for ath9k. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Cleanup buffer type assignmentSujith2009-01-29
| | | | | | | | | | | | | | | | The buffer state is already cleared in ATH_TXBUF_RESET. Remove redundant code clearing the type variable. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Revamp TX aggregationSujith2009-01-29
| | | | | | | | | | | | | | | | | | This patch cleans up the convoluted buffer management logic for TX aggregation. Both aggregation creation and completion are addressed. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Handle holding descriptor in TX completion properlySujith2009-01-29
| | | | | | | | | | | | | | | | | | If the current holding descriptor is the last one in the TX queue, *and* it has been marked as STALE, then move it to the free list and bail out, as it has already been processed. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Add a helper function to wake mac80211 queuesSujith2009-01-29
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Merge queue draining functionsSujith2009-01-29
| | | | | | | | | | | | | | | | | | The TX queue draining routines have confusing names, rename them approprately and merge ath_drain_txdataq() with ath_drain_all_txq(). Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Remove ath_tx_stopdma and call ath9k_hw_stoptxdma directlySujith2009-01-29
| | | | | | | | | | Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Reorganize code in xmit.cSujith2009-01-29
| | | | | | | | | | | | | | | | This patch starts cleaning up all the crufty code in transmission path, grouping functions into logical blocks. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: Update short guard interval in rate controlSujith2009-01-29
| | | | | | | | | | | | | | | | | | The rate control algorithm needs to know if a STA allows short guard interval, fixing this allows RC to use the correct table. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: rateCodeToIndex is not used, remove itSujith2009-01-29
| | | | | | | | | | | | | | | | | | Calculation of rate indices from ratecode is done in recv.c in a straightforward manner for both HT and legacy rates. This variable is not needed anymore. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: enable support for AR9100Gabor Juhos2009-01-29
| | | | | | | | | | | | | | | | | | | | | | Because we have support for the AR9100 devices now, we can enable them. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Tested-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | ath9k: fix null pointer dereference in ani monitor codeGabor Juhos2009-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In 'ath9k_ani_reset' the 'ahp->ah_curani' will be initialized only if 'DO_ANI(ah)' true. In 'ath9k_hw_ani_monitor' we are using 'ahp->ah_curani' unconditionally, and it will cause a NULL pointer dereference on AR9100. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Tested-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>