Commit Graph

245 Commits

Author SHA1 Message Date
Sujith 94ff91d4af ath9k: Fix bug in TX DMA termination
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>
2009-01-30 13:38:27 -05:00
Sujith f46730d13f ath9k: Setup short preamble properly in rate registration
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>
2009-01-30 13:38:25 -05:00
Sujith 1286ec6d63 ath9k: Fix station access in aggregation completion
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>
2009-01-30 13:38:24 -05:00
Sujith 1f7d6cbfa2 ath9k: Reconfigure beacons on getting a notification from mac80211
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-30 13:38:22 -05:00
Sujith 3c45726576 ath9k: Handle chainmask for A9280
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>
2009-01-30 13:38:21 -05:00
Luis R. Rodriguez b51bb3cd6c ath9k: remove useless ath9k driver version information
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>
2009-01-29 16:01:49 -05:00
Senthil Balasubramanian 793c592995 ath9k: Fix AR9285 specific noise floor eeprom reads.
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>
2009-01-29 16:01:49 -05:00
Luis R. Rodriguez 0c6666e4c4 ath9k: fix debug print on regd
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>
2009-01-29 16:01:48 -05:00
Alina Friedrichsen 3b5d665b51 mac80211: Generic TSF debugging
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>
2009-01-29 16:01:46 -05:00
Vasanthakumar Thiagarajan 81b1e19ac2 ath9k: Clean up the way the eeprom antenna configuration is read
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29 16:01:25 -05:00
Vasanthakumar Thiagarajan 3aa24e6031 ath9k: Remove unused ath9k_hw_select_antconfig() from hw.c
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29 16:01:24 -05:00
Sujith 5dad40c13e ath9k: Fix bug in NF calibration
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>
2009-01-29 16:01:23 -05:00
Sujith f8206e0534 ath9k: Fix bug in rate control capability registration
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>
2009-01-29 16:01:23 -05:00
Sujith eb2599ca25 ath9k: Fix MCS rates registration bug for AR9285
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>
2009-01-29 16:01:22 -05:00
Alina Friedrichsen 27abe060aa ath9k: Read and write the TSF via debugfs
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>
2009-01-29 16:01:22 -05:00
Luis R. Rodriguez 5f8e077c0a ath9k: simplify regulatory code
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>
2009-01-29 16:01:20 -05:00
Vasanthakumar Thiagarajan 369391db1a ath9k: Remove unnecessary gpio configuration in ath9k_hw_reset()
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29 16:01:08 -05:00
Vasanthakumar Thiagarajan e6799cc2e8 ath9k: Fix typo in chip version check
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29 16:01:07 -05:00
Vivek Natarajan 3cbb5dd736 ath9k: Enable dynamic power save in ath9k.
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>
2009-01-29 16:01:03 -05:00
Sujith c656bbb582 ath9k: Cleanup buffer type assignment
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>
2009-01-29 16:00:43 -05:00
Sujith d43f301520 ath9k: Revamp TX aggregation
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>
2009-01-29 16:00:42 -05:00
Sujith 6ef9b13db2 ath9k: Handle holding descriptor in TX completion properly
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>
2009-01-29 16:00:41 -05:00
Sujith 059d806cdc ath9k: Add a helper function to wake mac80211 queues
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29 16:00:41 -05:00
Sujith 043a040503 ath9k: Merge queue draining functions
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>
2009-01-29 16:00:40 -05:00
Sujith 55f5e4a980 ath9k: Remove ath_tx_stopdma and call ath9k_hw_stoptxdma directly
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29 16:00:40 -05:00