[go: nahoru, domu]

History log of /drivers/net/wireless/ath/ath9k/htc_drv_init.c
Revision Date Author Comments
c393d179924685d5c8c72446c5b6401f25fdb2a0 07-Oct-2014 Marek Puzyniak <marek.puzyniak@tieto.com> ath9k_htc: avoid kernel panic in ath9k_hw_reset

hw pointer of ath_hw is not assigned to proper value
in function ath9k_hw_reset what finally causes kernel panic.
This can be solved by proper initialization of ath_hw in
ath9k_init_priv.

Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com>
Acked-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ba1fa3cd615976ba5241060ceb2ab0c79c9b2605 18-Aug-2014 Csaba Kiraly <csaba.kiraly@gmail.com> ath9k_htc: advertise support for TDLS

Based on a quick test with AR9271, TDLS seems to be working fine.

Tests were done with 2 Atheros AR9271 based devices with firmware
1.3 (sha1 8d49f928aa40ac53c729189bff1333cd373a7fb5), associated
with a WAP54G access point. TDLS worked fine both in WPA2 mode and
without encryption. Stations maintained ping flood traffic between
each other and towards the AP without significant losses.

Not tested with AR7010.

TDLS was enabled in earlier patches the same way for other
Atheros drivers:
ath9k (fd6562344dea2b8b2a5d644cf971f4e56004500a),
and carl9170 (d1f3de71a584a82ee4e84505fce9acccf40215ff).

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
cc24c86f7cc5de8938c32f15cd59bd425d21bb60 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: sync beacon slot code with ath9k

we will need it for common-beacon

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
92c3f7ef2c59de5c6b58504d330a59f8e8d78e88 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: use common->op_flags

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
a099874ed9db31e8ac0d8173394e54081d518635 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: move beaconq to struct htc_beacon

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
3c4816d9a324f06c481dcc36c8dc1168f5d785c5 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: use common ath_beacon_config

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2259ba38a5c545bb54ee0fd9b07cb1828a2849d6 26-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: add function ath9k_regwrite_multi

... to remove duplicate code

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6da2f4ad9d125a81ce53af9c522856039f62718b 25-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: use ath9k_cmn_reload_chainmask

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e9fb588867091b25d413d6e70b4cfb8886edec89 25-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: use ath9k_cmn_setup_ht_cap

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
31f023a1cb92678604d5a1427623348f5b896eab 25-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: use ath9k_cmn_init_channels_rates

and ath_common sbands.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e5ba18c6901631237c49ec54ce54397369dea7fa 04-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: use ath9k_cmn_process_rssi

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6bca610d97b6139a1d7598b8009da9d339daa50f 30-Jan-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: Do not support PowerSave by default

It is a copy/paste of patch provided by Sujith for ath9k.

"Even though we make sure PowerSave is not enabled by default
by disabling the flag, WIPHY_FLAG_PS_ON_BY_DEFAULT on init,
PS could be enabled by userspace based on various factors
like battery usage etc. Since PS in ath9k is just broken
and has been untested for years, remove support for it, but
allow a user to explicitly enable it using a module parameter."

Cc: stable@vger.kernel.org
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
685328b296acc810541d2532957912690273c64a 06-Jan-2014 Johannes Berg <johannes.berg@intel.com> mac80211: remove channel_change_time

This value is no longer used by mac80211, and practically no
driver ever set it to a correct value anyway, so remove it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
1e51acaa02563ca96c0f3fa9827174cefde6093c 12-Dec-2013 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: reconfigure led_gpios after resume

On suspend/resume, firmware will restart and gpios
configuration will be reseted. Restore this
configureation at least for LEDs

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
dc2a87f519a4d8cb376ab54f22b6b98a943b51ce 19-Jul-2013 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: do some initial hardware configuration

Currently we configure harwdare and clock, only after
interface start. In this case, if we reload module or
reboot PC without configuring adapter, firmware will freeze.
There is no software way to reset adpter.

This patch add initial configuration and set it in
disabled state, to avoid this freeze. Behaviour of this patch
should be similar to: ifconfig wlan0 up; ifconfig wlan0 down.

Bug: https://github.com/qca/open-ath9k-htc-firmware/issues/1
Tested-by: Bo Shi <cnshibo@gmail.com>
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
0c9acaa8357a334645c96d505528a20f2fd4ac0a 27-Jun-2013 Thomas Pedersen <thomas@cozybit.com> ath9k_htc: ifdef out IFTYPE_MESH advertisement

This is needed so the interface combination can still be
validated when CONFIG_MAC80211_MESH is not enabled.
Otherwise wiphy registration fails.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
156652bbedfbc0f3410759ccebe5c94edb7ce6c3 19-Jun-2013 Ben Greear <greearb@candelatech.com> ath9k_htc: Support reporting tx and rx chain mask.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
a226c3d96d920ba88a28f463ba77c9693988ff1e 09-Jun-2013 Oleksij Rempel <linux@rempel-privat.de> ath9k_htc: add STBC TX support

All known ar7010+ar* device and current FW support STBC TX. This patch
make use of it and suggest to send STBC if peer support it.
I use wort "suggest" since currenly we have separate rate controller
in FW which will make decision based on rate and hardware.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
bd4a85ee8cd6c80d844d0fc52108aebb9b1120c1 08-May-2013 Javier Cardona <javier@cozybit.com> ath9k_htc: Claim support for mgmt frame protection

Advertise support for management frame protection in hardware.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
594e65b633e0b76db1d8e7359e4efb2d60fba20d 08-May-2013 Javier Cardona <javier@cozybit.com> ath9k_htc: Add support for mesh interfaces

More specifically, enable AP-style beaconing on mesh
ifaces and change the hw capabilities to reflect mesh
support.

Coexistence with a virtual STA interface was tested as
working fine.

Signed-off-by: Javier Cardona <javier@cozybit.com>
[rebase, add iface combinations]
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
319e7bd96aca64a478f3aad40711c928405b8b77 07-Apr-2013 Felix Fietkau <nbd@openwrt.org> ath9k_htc: accept 1.x firmware newer than 1.3

Since the firmware has been open sourced, the minor version has been
bumped to 1.4 and the API/ABI will stay compatible across further 1.x
releases.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
0c0280bd0ba410326eecdaeb1b936696eda6381d 11-Jan-2013 Luis R. Rodriguez <mcgrof@do-not-panic.com> wireless: make the reg_notifier() void

The reg_notifier()'s return value need not be checked
as it is only supposed to do post regulatory work and
that should never fail. Any behaviour to regulatory
that needs to be considered before cfg80211 does work
to a driver should be specified by using the already
existing flags, the reg_notifier() just does post
processing should it find it needs to.

Also make lbs_reg_notifier static.

Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
[move lbs_reg_notifier to not break compile]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
81135548e697a24ab41944c4354953a71b0b9efe 06-Jan-2013 Jiri Pirko <jiri@resnulli.us> net: use ETHTOOL_FWVERS_LEN instead of ETHTOOL_BUSINFO_LEN for fw_ver strings

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
bea843c73854becf998047a83af22a90de3fd19b 21-Nov-2012 Sujith Manoharan <c_manoha@qca.qualcomm.com> ath9k/ath9k_htc: Remove WME macros

Use the macros provided by mac80211 and remove redundant
declarations inside the drivers.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8b0b6be5cb83e871adf8a134e843c01d75b1d128 08-Oct-2012 Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> ath9k_htc: Advertise interface combinations supported

This will allow us to create virtual interface the driver supports.
Also this ensures multivif support and limitation advertised
by the driver is taken care in cfg80211 itself.

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7f34778e79048fae1a88100de917277375466de0 04-Sep-2012 Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> ath9k_htc: Add a modparam to enable BTCOEX rather than default

Enable BTCOEX for WB193(which seems to be the only supported
ath9k_htc BTCOEX chipset)only when it is enabled via modparam,
rather than enabling it by default.

Cc: Vivek Natarajan <nataraja@qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d8a2c51cdcaee0131c88f49d64b84f1c7361d72c 25-Jun-2012 Sujith Manoharan <c_manoha@qca.qualcomm.com> ath9k_htc: Use atomic operations for op_flags

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
fb1c078edb50376c14e049b22b10768b8245428a 25-Jun-2012 Sujith Manoharan <c_manoha@qca.qualcomm.com> ath9k_htc: Change default listen interval to 1

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
81ddbb5c1188dfaa98c67832a751117fcacda75d 26-Mar-2012 Johannes Berg <johannes.berg@intel.com> mac80211: don't always advertise remain-on-channel

Not all devices are really capable of implementing
remain-on-channel, even if it is implemented in SW,
as they can't necessarily deal with channel changes
while associated.

Remove the WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL and add
it only if either the driver has remain_on_channel
implemented in the driver/device.

Also add it to all drivers that advertise P2P right
now since those definitely have to have it working.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
516304b0f45614fb8967dc86ff681499204cdbb1 19-Mar-2012 Joe Perches <joe@perches.com> ath: Add and use pr_fmt, convert printks to pr_<level>

Use a more current logging style.
Make sure all output is prefixed appropriately.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
cee5341d47fcd1cb79bbb71e430f502285fef8db 21-Feb-2012 Sujith Manoharan <c_manoha@qca.qualcomm.com> ath9k_htc: Init BTCOEX inside htc_drv_gpio.c

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d7d312cab41b2c973951fcc7f752411cbaaf8338 17-Jan-2012 Antonio Quartulli <ordex@autistici.org> ath9k_htc: claim support for IBSS RSN

Skip group keys configuration in hardware in order to make IBSS RSN work.
Keys will be managed using software.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8a30930563521c9dba73c93b5631be1d0993f78f 17-Dec-2011 Felix Fietkau <nbd@openwrt.org> ath9k_hw: make bluetooth coexistence support optional at compile time

Many systems (e.g. embedded systems) do not have wifi modules connected to
bluetooth modules, so bluetooth coexistence is irrelevant there. With the
addition of MCI support, ath9k picked up quite a bit of extra code that
can be compiled out this way.

This patch redefines ATH9K_HW_CAP_MCI and adds an inline wrapper for
querying the bluetooth coexistence scheme, allowing the compiler to
eliminate code that uses it, with only very little use of #ifdef.

On MIPS this reduces the total size for the modules by about 20k.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d2182b69dcb6a68b1ef6070b2efd094e13dea3f1 15-Dec-2011 Joe Perches <joe@perches.com> ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO

Add ATH_DBG_ to macros to shorten the uses and
reduce the line count.

Coalesce ath_dbg formats.
Add missing spaces to coalesced formats.
Add missing newline terminations to ath_dbg formats.
Align ath_dbg arguments where appropriate.
Standardize ath_dbg formats without periods.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
82b2d334314c387ebd857b88a3d889c9a2cfec4a 03-Sep-2011 Felix Fietkau <nbd@openwrt.org> ath9k: eliminate common->{rx,tx}_chainmask

we already have ah->{rx,tx}chainmask for the same purpose

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
f82b4bde17aeb6c2f8bf0540ee44811de4651cf6 13-Aug-2011 Rajkumar Manoharan <rmanohar@qca.qualcomm.com> ath9k: Move ath9k_init_crypto to common

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
eb93e891825d0297fddcb76dbb0fff6a5a107bb6 23-Jul-2011 Pavel Roskin <proski@gnu.org> ath9k: remove all references to subsysid, it's never used

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8ae2e12f1534e647d4a816755e5a09c2de6f9fca 08-Jul-2011 Rajkumar Manoharan <rmanohar@qca.qualcomm.com> ath9k_htc: Inform stack about tx ack status

Recent firmware changes report tx ack status properly
to driver. Hence updating ath9k_htc driver capabilities.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
5b68138e5659cbfd5df2879d17f9ba0b66477fec 17-May-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k: Drag the driver to the year 2011

The Times They Are a-Changin'.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d108e8b9320b77e3fa165757fd40f298bdd89d1c 16-May-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Change credit limit for UB94/95

Reduce the credit size for UB94/95 to fix target hangs.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
bd54879958f3e7efe249f69c75718cc9ee915cf8 16-May-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Fix max subframe handling

Commit "ath9k_htc: Fix AMPDU subframe handling" registered the maximum
subframe limit of the driver with mac80211, which was used in ADDBA
negotiation. While technically correct, this causes inter-operability issues
with a few APs. Revert to the older behavior to fix this.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d244f21e79162b829c9af09845421d9b4fac4253 28-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Revamp LED management

Remove all the convoluted hacks in the driver and simplify things
by making use of mac80211's LED triggers.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
484b1829c6a3c5bc38fe0cd626ce2e8a3dfd844c 27-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Increase credit size for AR7010 devices

Bump the firmware version to 1.2

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
3a0593efd191c7eb13c79179c4c5ddbc519b2510 20-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Fix AMPDU subframe handling

* Register the driver's maximum ampdu subframe limit to mac80211.
* Cleanup the target capabilities structure and fix an endian issue.
* Fix BTCOEX by sending a command to the target when the BT priority
changes.
* Bump the required firmware version to 1.1

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e5facc75fa9104f074c4610437a9c717c9e5ecde 15-Apr-2011 Rajkumar Manoharan <rmanoharan@atheros.com> ath9k_htc: Cleanup HTC debugfs

Move the ath9k_htc debugfs under ieee80211 to be inline
with ath9k driver and it also helps to simplify debug code.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Acked-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
09d5b94d2cbc6c3ebb70a9a318f6390d0b4cf010 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Enable AP and P2P modes

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
859c3ca1e4608615788dc6cbc199210fe4b5efa2 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Add a timer to cleanup WMI events

Occasionally, a WMI event would arrive ahead of the TX
URB completion handler. Discarding these events would exhaust
the available TX slots, so handle them by running a timer
cleaning up such events. Also, timeout packets for which TX
completion events have not arrived.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
27876a29de221186c9d5883e5fe5f6da18ef9a45 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Add support for TX completion

Now that the infrastructure is in place, process WMI
TX status events and complete packets.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
658ef04fd42a587b17a379ad9208023473442ddd 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Move TX specific stuff to a separate structure

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
f4c88991f51e097b6541f998fd23d477999e5886 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Queue WMI events

Use a queue to handle WMI events and schedule a tasklet
to process the events. This fixes the race between the
WMI event ISR and the SWBA tasklet when the arrival of
WMI events in quick succession could overwrite the SWBA
data before the tasklet from a previous iteration could
have been scheduled. Also, drain the WMI queue properly.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7d547eb4bb664c5a6b7c8790c2ecb0aec5d15385 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Handle buffered frames in AP mode

Use the CAB endpoint to send buffered multicast or
broadcast frames after each SWBA event.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
832f6a18fc2aead14954c081ece03b7a5b425f81 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Add beacon slots

Beacon transmission is now handled through a slot mechanism.
This allows multiple beaconing interfaces to be be present.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
29bbfb2491316f9a3888e74b0de7fccdbde67aaa 13-Apr-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Add a WMI command to get the firmware version

Also, update the wiphy information and use the correct
device pointer when registering. This would fix ethtool.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6de12a1bcef0145436e815d30a3d48b9fadb199d 23-Mar-2011 Felix Fietkau <nbd@openwrt.org> ath9k_hw: remove pCap->keycache_size

Similar to the number of tx queue, the number of keycache entries depends
on the chip and shouldn't be messed with based on EEPROM data.
Remove this field and stick to using AR_KEYTABLE_SIZE

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
845e03c93dda2c00ffb5c68a1f7c8efc412d7c1a 23-Mar-2011 Felix Fietkau <nbd@openwrt.org> ath9k_hw: add a new register op for read-mask-write

Reduces the number of calls to register ops. On MIPS this reduces the
ath9k_hw binary size from 321k down to 310k

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
f9f84e96f6d642aa7b337c22cbb7d6f936039fda 23-Mar-2011 Felix Fietkau <nbd@openwrt.org> ath9k_hw: embed the ath_ops callbacks in the ath_hw struct

With this change, loading the address to a register read/write function
costs only one pointer dereference instead of two. On MIPS this reduces
ath9k_hw binary size from 326k down to 321k.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
3e3f1d197f5a432b961fadb35604dba92583945e 21-Feb-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Add debug code to print endpoint mapping

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
a236254c35f04a4d47c701ed3ec4a0b5dcb097b0 21-Feb-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Add ANI for AP mode

The time granularity for the ANI task is different for AP and
station mode.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ea888357ec005abffb95acee2e61aac68dff429c 25-Jan-2011 Stanislaw Gruszka <sgruszka@redhat.com> ath9k_htc: fix race conditions when stop device

We do not kill any scheduled tasklets when stopping device, that may
cause usage of resources after free. Disable interrupts, kill tasklets
and then works in correct order.

Cc: stable@kernel.org
Tested-by: Sujith <m.sujith@gmail.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
09a525d33870e8a16076ec0200cc5002f6bef35d 04-Jan-2011 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Add multiple register read API

This would decrease latency in reading bulk registers.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
bd8027a72a1af95efd1dc8ea6df2fd9724c885b2 29-Dec-2010 Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Revert "ath9k: Parse DTIM period from mac80211"

This reverts commit 0ce3bcfc84900a64347b0fe1140229bd81314008.

Event though with the above commit we obtain the configured DTIM period
from the AP rather than always hardcoding it to '1', this seems to cause
problems under the following scenarios:
* Preventing association with broken AP's
* Adds latency in roaming
So its better to always use the safe value of '1' for dtim period

Cc: Jouni Malinen <Jouni.Malinen@Atheros.com>
Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
73908674c6957082e8ab57daed57d2bb97a1ebba 28-Dec-2010 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Handle FATAL events

The device has to be reset when a FATAL event is received.
Not doing so would leave the card in a non-working state.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
97dcec5715a381362c88d1542e52c63147764d3c 20-Dec-2010 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Fix warning on device removal

The commit "ath9k_hw: warn if we cannot change the power to the chip"
introduced a new warning to indicate chip powerup failures, but this
is not required for devices that have been removed. Handle USB device
removal properly by checking for unplugged status.

For PCI devices, this warning will still be seen when the card is pulled
out, not sure how to check for card removal.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
f933ebed7888a9a7d73ebeeb6bcbb3f710c423b4 30-Nov-2010 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Fix suspend/resume

The HW has to be set to FULLSLEEP mode during suspend,
when no interface has been brought up. Not doing this would
break resume, as the chip won't be powered up at all.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
0ce3bcfc84900a64347b0fe1140229bd81314008 07-Dec-2010 Mohammed Shafi Shajakhan <mshajakhan@atheros.com> ath9k: Parse DTIM period from mac80211

With the current save power save implementation we assume a dtim period
of 1.This value is assigned based on a sanity check in the driver
eventhough we had not parsed it from mac80211.This patch obtains the actual
DTIM period from AP by parsing it from mac80211.Yet for handling
multicast traffic we may still have it as fixed rather than parsing it
from mac80211 .This does not breaks power save or anything as the sleep
duration is currently fixed in the driver.This patch may serve to improve
power save in the future by using dtim period for sleep duration and using
correct dtim period adhoc mode.

Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
0b5ead91cda63e0db964dadc77601233434f60cb 07-Dec-2010 Sujith Manoharan <Sujith.Manoharan@atheros.com> ath9k_htc: Cleanup device identification

ath.ko is a common module shared between ath5k, ar9170usb, ath9k and ath9k_htc.
Adding driver specific data to the shared structure would impact all the
drivers. Handling USB device recognition for devices specific to ath9k_htc
can be handled within the driver itself.

Also, AR7010 refers to the processor used in both AR9280/AR9287 based
devices. Rename the device enumerations accordingly.

While at it, check properly for the bus type when choosing the EEPROM
base address for UB95.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
226afe68fdbd1aa3680158aca0a3631cbd019626 03-Dec-2010 Joe Perches <joe@perches.com> ath: Convert ath_print to ath_dbg

Remove ath/debug.h and the includes of these files.
Coalesce long formats.
Correct a few misspellings and missing "\n"s from these logging messages.
Remove unnecessary trailing space before a newline.
Remove ARRAY_SIZE casts, use printf type %zu

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
3800276a40751539a920ef8e0537ef2e19126799 03-Dec-2010 Joe Perches <joe@perches.com> ath: Convert ath_print(.., ATH_DBG_FATAL to ath_err

So these errors are always emitted at KERN_ERR level.
Remove ARRAY_SIZE casts, use printf type %zu

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
fa6e15e0b5952fd2cd99fc6d4f4473f6b9da18df 19-Nov-2010 Rajkumar Manoharan <rmanoharan@atheros.com> ath9k_htc: Identify devices using driver_info

Categorize AR7010 & AR9287 devices based on driver_info
of usb_device_id, instead of PIDs. This avoids per-device cases
and minimize code changes for new device addition.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
f8afa42b01c7a9f45b7cbaadb0481a0eeb96f18d 22-Nov-2010 Felix Fietkau <nbd@openwrt.org> ath9k_htc: fix eeprom access

wireless-testing commit a05b5d45049d60a06a1b12976150572304a51928
ath9k: add support for reading eeprom from platform data on PCI devices

This change moved the initialization of the AH_USE_EEPROM flag from ath9k_hw
to ath9k. This needs to be added to ath9k_htc as well

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
07b2fa5a2368accf0fe6cb16e7eca6d1150554ed 21-Nov-2010 Joe Perches <joe@perches.com> ath9k: Use static const

Using static const generally increases object text and decreases data size.
It also generally decreases overall object size.

text data bss dec hex filename
11161 56 2136 13353 3429 drivers/net/wireless/ath/ath9k/ar9003_paprd.o.new
11167 56 2136 13359 342f drivers/net/wireless/ath/ath9k/ar9003_paprd.o.old
15428 56 3056 18540 486c drivers/net/wireless/ath/ath9k/eeprom_4k.o.old
15451 56 3056 18563 4883 drivers/net/wireless/ath/ath9k/eeprom_4k.o.new
14087 56 2560 16703 413f drivers/net/wireless/ath/ath9k/eeprom_9287.o.old
14036 56 2560 16652 410c drivers/net/wireless/ath/ath9k/eeprom_9287.o.new
10041 56 2384 12481 30c1 drivers/net/wireless/ath/ath9k/ani.o.new
10088 56 2384 12528 30f0 drivers/net/wireless/ath/ath9k/ani.o.old
9316 1580 2304 13200 3390 drivers/net/wireless/ath/ath9k/htc_drv_init.o.new
9316 1580 2304 13200 3390 drivers/net/wireless/ath/ath9k/htc_drv_init.o.old
16483 56 3432 19971 4e03 drivers/net/wireless/ath/ath9k/ar9003_phy.o.new
16517 56 3432 20005 4e25 drivers/net/wireless/ath/ath9k/ar9003_phy.o.old
18221 104 2960 21285 5325 drivers/net/wireless/ath/ath9k/rc.o.old
18203 104 2960 21267 5313 drivers/net/wireless/ath/ath9k/rc.o.new
19985 56 4288 24329 5f09 drivers/net/wireless/ath/ath9k/eeprom_def.o.new
20040 56 4288 24384 5f40 drivers/net/wireless/ath/ath9k/eeprom_def.o.old
23997 56 4984 29037 716d drivers/net/wireless/ath/ath9k/ar5008_phy.o.old
23846 56 4984 28886 70d6 drivers/net/wireless/ath/ath9k/ar5008_phy.o.new
24285 56 3184 27525 6b85 drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.old
24101 56 3184 27341 6acd drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.new
6834 56 1032 7922 1ef2 drivers/net/wireless/ath/ath9k/ar9002_phy.o.old
6780 56 1032 7868 1ebc drivers/net/wireless/ath/ath9k/ar9002_phy.o.new
36211 64 8624 44899 af63 drivers/net/wireless/ath/ath9k/hw.o.new
36401 64 8624 45089 b021 drivers/net/wireless/ath/ath9k/hw.o.old
9281 56 1496 10833 2a51 drivers/net/wireless/ath/ath9k/ar9003_calib.o.old
9150 56 1496 10702 29ce drivers/net/wireless/ath/ath9k/ar9003_calib.o.new

Use ARRAY_SIZE instead of a magic number.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7cbf2611dac8d5f76fe64795a9426b8c97e6c3f8 10-Nov-2010 Rajkumar Manoharan <rmanoharan@atheros.com> ath9k_htc: Add new devices into AR7010

Treat new PIDs (0xA704, 0x1200) as AR7010 devices.

Cc: stable@kernel.org
Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d4659912b557e9f68c0ad8be14e2cafd3210dd16 14-Oct-2010 Felix Fietkau <nbd@openwrt.org> ath9k_hw: remove enum wireless_mode and its users

The wireless mode bitfield was only used to detect 2.4 and 5 GHz support,
which can be simplified by using ATH9K_HW_CAP_* capabilities.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
435c1610f46dc4d86a6633adb037b18109e6ffdc 05-Oct-2010 Felix Fietkau <nbd@openwrt.org> ath9k_hw: clean up register write buffering

Throughout the code, DISABLE_REGWRITE_BUFFER is always called right after
REGWRITE_BUFFER_FLUSH. Since that's unlikely to change any time soon, that
makes keeping those ops separate rather pointless, as it only increases
code size and line number counts.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e2b626248b0799bd14be40ce290c6681a8419512 24-Sep-2010 Rajkumar Manoharan <rmanoharan@atheros.com> ath9k_htc: Fix TKIP disconnect failure with HTC drivers

The following commit removed splitmic. But forgot to add
ATH_CRYPT_CAP_MIC_COMBINED flag for HTC drivers which causes
TKIP to fail.

Author: Bruno Randolf <br1@einfach.org>
Date: Wed Sep 8 16:04:54 2010 +0900

ath/ath9k: Replace common->splitmic with a flag

Replace common->splitmic with ATH_CRYPT_CAP_MIC_COMBINED flag.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
040e539e8e8d5585e1c3d7d15fa7215d3a691258 08-Sep-2010 Bruno Randolf <br1@einfach.org> ath9k: Use common ath key management functions

Use key management functions which have been moved to ath/key.c and remove
ath9k copies of these functions and other now unused definitions.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
364734fafbba0c3133e482db78149b9a823ae7a5 14-Sep-2010 Felix Fietkau <nbd@openwrt.org> ath9k_hw: remove useless hw capability flags

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
21cb987914cb5334af78378141efed77505ea987 18-Aug-2010 Vivek Natarajan <vnatarajan@atheros.com> ath9k_htc: Add support for bluetooth coexistence.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ca6cff1f80f30cc6313a943339361ad6f9e76548 13-Aug-2010 Rajkumar Manoharan <rmanoharan@atheros.com> ath9k_htc: load proper firmware for device ID 7015

This patch handles the firmware loading properly
for device ID 7015.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
4e63f768c3b85ae2b3ea6251231fd5cc46ec598d 17-Jun-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Update supported product list

This patch adds USB IDs for some more supported
devices.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d7ca21393d39cb2e73dfc4c516e7be37ba01789e 15-Jun-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Fix ampdu_action callback

Now that ampdu_action() can sleep, remove all
the driver hacks and just issue WMI commands
to the target.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16f2411fcb76253c690e3420fbcf3f0208eeaa51 12-Jun-2010 Felix Fietkau <nbd@openwrt.org> ath9k_hw: remove ATH9K_CAP_MCAST_KEYSRCH

The driver always sets this to enabled, but this can be simplified with
a small change to ah->sta_id1_defaults instead.
This change also removes the now-obsolete ath9k_hw_setcapability function.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
f32a488463d1b2048a7797a5b618be65a1dfabad 12-Jun-2010 Felix Fietkau <nbd@openwrt.org> ath9k_hw: remove ATH9K_CAP_TKIP_SPLIT

This is only used as a workaround for an issue in one specific hw revision.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
71fca6e983ebbf70b2d1089c66f0ec945ae16dc0 12-Jun-2010 Felix Fietkau <nbd@openwrt.org> ath9k_hw: remove ATH9K_CAP_TKIP_MIC

TKIP MIC support is always enabled anyway.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
716f7fc5b83ec04c53274a4810a723747e12f910 12-Jun-2010 Felix Fietkau <nbd@openwrt.org> ath9k_hw: remove ATH9K_CAP_CIPHER

All of the ciphers that are tested for are always supported

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e8c35a77e3408171852bde4914b650cf5b83e0d1 12-Jun-2010 Felix Fietkau <nbd@openwrt.org> ath9k_htc: use common WMM AC definitions instead of ath9k ones

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6267dc709c6ef1c0926e18ff2859238992dea658 02-Jun-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Configure credit size for AR7010

For non-AR9271 chips, the credit size is different
and has to be configured appropriately.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ea46e644e80bd4ac778964afd998df4f666486d4 02-Jun-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Setup 5GHz channels

AR7010 is dual-band. Setup the channels and rateset
for 5GHz band.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6debecad452d3bbe5affc0a21bc0bb452f867cd8 02-Jun-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Setup HT capabilites for 2-stream devices

The supported MCS rate set has to be setup properly
for 2-stream devices.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17525f96aeeed156bd4a6dee21816100f77b0c71 16-May-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Enable RX STBC for AR9271

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
b4dec5e8f5c02f75d8c08dd377193f73b553bfe2 16-May-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Enable SGI in HT20 for AR9271

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ca74b83b66dbd289a395c6243695d746c76676cc 14-May-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Initialize beacon/CAB queues

This patch initializes the beacon and CAB HW queues
when the driver is loaded.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d8c49ffb2e2a47b23fec7f469435e7b112e2e569 11-May-2010 Sujith.Manoharan@atheros.com <Sujith.Manoharan@atheros.com> ath9k_htc: Fix target ready race condition

The ready message from the target could be processed
before the host HW init has completed. In this case,
htc_process_target_rdy() would assume the target has timed
out, when it hasn't. Fix this by checking if the target
has sent the ready message properly.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
9c6dda4e2dfea970a7105e3805f0195bc3079f2f 06-May-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Fix beaconing in IBSS mode

The current way of managing beaconing in ad-hoc
mode has a subtle race - the beacon obtained from mac80211
is freed in the SWBA handler rather than the TX
completion routine. But transmission of beacons goes
through the normal SKB queue maintained in hif_usb,
leading to a situation where __skb_dequeue() in the TX
completion handler goes kaput.

Fix this by simply getting a beacon from mac80211 for
every SWBA and free it in its completion routine.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
a3be14b76da111ebe4d245b0542613f9317104e7 23-Apr-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Handle device unplug properly

When the USB device has been unplugged, there is
no point in trying to send commands to the target.
Fix this by denying all WMI commands in such a case.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
4a22fe108e62367c10c3abeb469d6972ba3299f5 16-Apr-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Implement multiple register write support

This patch adds support for writing multiple registers
in a single USB command.

Specific calls from the HW code that performs multiple
register writes would be modified to make use of this
in subsequent patches.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
bde748a40d4d5a9915def6772e208848c105e616 05-Apr-2010 Vivek Natarajan <vnatarajan@atheros.com> ath9k_htc: Add support for power save.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
497ad9adf44013dc9054f80c627acc44d4c90d37 01-Apr-2010 Sujith <Sujith.Manoharan@atheros.com> ath: Add a bus type field

This can be used to store the bus types ( AHB/PCI/USB ).

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
32fbccafed7e935432b601f0453c2b702a385a25 30-Mar-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Fix TKIP encryption

Set IEEE80211_HW_RX_INCLUDES_FCS to indicate that
the FCS is present in RX frames. Also, remove a redundant
assignment of skb length and include the FCS_LEN
when checking padding.

Fixing this issue makes TKIP work.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
9f01a84e81d10e38daa504348217895fe414a24b 29-Mar-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Initialize HW opmode

Not setting the opmode properly during initialization
results in the firmware sending up a bunch of packets
before add_interface() has been called, for the first
interface.

This patch fixes the issue by setting the initial mode
to 'managed'.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7757dfed5809b03aa61c7d7f5ff8092f85df8583 29-Mar-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Handle TX queue overflow

Stop/restart TX queues when the internal SKB
queue is full. This helps handle TX better
under heavy load.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e1572c5eeca8ef87a250322364584458b2dadb35 24-Mar-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Fix symbol collision with ath9k

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
fb9987d0f748c983bb795a86f47522313f701a08 17-Mar-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Support for AR9271 chipset.

Features:

* Station mode
* IBSS mode
* Monitor mode
* Legacy support
* HT support
* TX/RX 11n Aggregation
* HW encryption
* LED
* Suspend/Resume

For more information: http://wireless.kernel.org/en/users/Drivers/ath9k_htc

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>