ca14405e3b25b38221d027d8970c1d74ed0b6532 |
|
08-Oct-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix sequence number assignment Currently, ath9k uses a global counter for all frames that need to be assigned a sequence number. QoS-data frames are handled properly since they have a per-tid counter. But, beacons and other management frames use the same counter even if multiple interfaces or contexts are present. Fix this issue by making the counter per-interface and using it when mac80211 sets IEEE80211_TX_CTL_ASSIGN_SEQ. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ca529c9373bbcabf55a12e4225d625ee26fc8abb |
|
05-Sep-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix interface accounting Currently, the interface count is maintained globally, but this causes problems in RX filter calculation. Make the interface count a per-channel-context variable to fix this. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
12a1b3d4c3067323c5140b405f9290cd7f1d1dac |
|
05-Sep-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix beacon configuration for channel contexts In channel context mode, when a new context is added, mac80211 issues a bss_info_changed() notfication when preparing the connection for the new interface/context. But, this is done prior to the mgd_prepare_tx() call which is where we switch to the new context. Since the current context will be different when the earlier bss_info_changed() is handled, the beacon information for the VIF is not updated, but discarded since the rules for the current context disallows it. In the subsequent association process for the new context/vif, this becomes a problem because the beacon parameters are invalid. This causes problems with the TSF timer, causing large jumps. To fix this, check if the beacon info is being updated for a different context and if so, allow it without any checks since we limit the max. interfaces to two anyway. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
11e39a4e054cde1aaa9f5d3830f41f86818602fd |
|
23-Aug-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Move ath9k_beacon_add_noa to channel.c Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
70b06dacfe8bd1f62de058e2116388b8f7c58531 |
|
23-Aug-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Add wrappers for beacon events Using these wrappers allows us to move the 'sched' variable in ath_softc inside CONFIG_ATH9K_CHANNEL_CONTEXT. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
27babf9f470b5e75763703626cae710a30bf703d |
|
23-Aug-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix channel context events Check if channel context usage is enabled before calling ath_chanctx_event() from various parts of the driver. Also, make sure that ath_chanctx_event() is compiled only when CONFIG_ATH9K_CHANNEL_CONTEXT is enabled. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
7414863ed3dfa407006c92616c1e0efda481738c |
|
11-Jun-2014 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: Add periodic NoA support Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
3ae07d39ea81440768427e7786c5422f3af38a94 |
|
11-Jun-2014 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: Add p2p go NoA attribute Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
748299f27b21c23ba963df4768abb2344fe6e9a7 |
|
11-Jun-2014 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: switch channel context for beaconing Add a basic state machine for switch channel context for beacon transmission. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
9a9c4fbc3fcabc0d510600743204f890ebdbb141 |
|
11-Jun-2014 |
Rajkumar Manoharan <rmanohar@qti.qualcomm.com> |
ath9k: Summarize hw state per channel context Group and set hw state (opmode, primary_sta, beacon conf) per channel context instead of whole list of vifs. This would allow each channel context to run in different mode (STA/AP). Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ca900ac9d9f0e38782f5a24e64b05f607fd6eb4c |
|
11-Jun-2014 |
Rajkumar Manoharan <rmanohar@qti.qualcomm.com> |
ath9k: Move beacon config to channel context Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
bff117669841c04d08bd1d23617818e0030b3299 |
|
11-Jun-2014 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: Add channel context worker thread The channel context worker is used to switch to next requested channel context. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
76c939832aa95f6e0e84f173b36906eea2235cee |
|
30-Apr-2014 |
Ben Greear <greearb@candelatech.com> |
ath9k: Prevent divide-by-zero upon bad beacon_interval. A similar patch fixed crashes seen on an ath9k system when testing against a broken ath10k AP. This patch is slightly less protective, but probably will do the job and is less redundant. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
5869e795e07ded955744ab99765d0f183f825f97 |
|
08-Apr-2014 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix a scheduling while atomic bug in CSA handling Commit "ath9k: prepare for multi-interface CSA support" added a call to ieee80211_iterate_active_interfaces in atomic context (beacon tasklet), which is crashing. Use ieee80211_iterate_active_interfaces_atomic instead. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
6a77dd33fcfbfcf48f77fed599a0ce763e65a894 |
|
01-Mar-2014 |
Oleksij Rempel <linux@rempel-privat.de> |
ath9k: remove unused ath9k_get_next_tbtt Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
fa7b52fadbbbec855fb13ccc508128f6d234e08d |
|
01-Mar-2014 |
Oleksij Rempel <linux@rempel-privat.de> |
ath9k: move ath9k_beacon_config_ap common Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4c9a1f32600b9181558737dede31403c1ca05291 |
|
01-Mar-2014 |
Oleksij Rempel <linux@rempel-privat.de> |
ath9k: move ath9k_beacon_config_adhoc to common Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
cbbdf2ae2d67b333d7a4db5ce8b7391b3de1256d |
|
01-Mar-2014 |
Oleksij Rempel <linux@rempel-privat.de> |
ath9k: move ath9k_beacon_config_sta to common-beacon Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
eefa01ddd57893c7f4482024029fec323c8e1b89 |
|
27-Feb-2014 |
Oleksij Rempel <linux@rempel-privat.de> |
ath9k: move sc_flags to ath_common we will need it for ath9k_htc, may be other drivers too Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
7fbdaa2a27583664ff700843269bc3ca14e4e1b5 |
|
26-Feb-2014 |
Oleksij Rempel <linux@rempel-privat.de> |
ath9k: remove unused listen_interval and sleepduration. this variable never changed. Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
13f71050c10df77c1b9f2808c410d68dfcdb26b4 |
|
25-Feb-2014 |
Oleksij Rempel <linux@rempel-privat.de> |
ath9k: move ath9k_init_channels_rates to common-init and rename it to ath9k_cmn_init_channels_rates. sbands are move to ath_common as well. Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4effc6fda7ab2fc10f640601359a63b04ad8f382 |
|
20-Jan-2014 |
Michal Kazior <michal.kazior@tieto.com> |
ath9k: prepare for multi-interface CSA support Soon mac80211 will support multi-interface CSA so using sc->csa_vif is not an option. Instead just depend on vif->csa_active. Calling ieee80211_csa_finish() multiple number of times should not be an issue. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
415ec61b66198f93962b76107f3324571475a3e2 |
|
24-Dec-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Remove RX Poll This patch removes the convoluted and hacky method of monitoring for connectivity. We rely on mac80211's connection loss logic and doing it in the driver is not necessary. The HW check for MAC/BB hangs is also simplified, there is no need to have a separate work instance for it. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
63ded3f059f5c906fdef4b7f0663fb39c4d96c8e |
|
19-Dec-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix TSF offset precision issue Dividing the beacon interval by ATH_BCBUF (8) truncates the result for the default beacon interval of 100. Fix the calculation by moving the division after conversion from TU to microseconds. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c32e4e518f6642372c57ac9edbfb8274fa20c5e4 |
|
19-Dec-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: call ath9k_set_tsfadjust from ath9k_beacon_config Make that function and ath9k_allow_beacon_config static Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
a35051ce1733f524c12a8246641ded5d0409817d |
|
14-Dec-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: properly preserve TSF across reset The beacon code previously reset TSF on every configuration call, as some of the code was not prepared to properly calculate nexttbtt based on current TSF. This patch adds a common function for calculating nexttbtt and moves the TSF reset to driver start. This should improve AP mode compatibility with various stations that expect the TSF to not randomly jump due to hardware resets. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4ed15762dce67192d4662860470a8be1f6d5fd53 |
|
14-Dec-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: clean up station beacon timer API Remove unused fields, pass timer info in usec instead of TU. Preparation for fixing nexttbtt calculation Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1e516ca7c9ceeeec4ed87f549a14bc3b73427f83 |
|
11-Sep-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Handle abnormal NAV in AP mode Beacon transmission would get stuck if the NAV is an invalid value for some reason. Check and correct the NAV value in the HW when this happens. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d074e8d547853cc8b40cf93a460e8fbf9eaa3d00 |
|
14-Aug-2013 |
Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> |
ath9k: enable CSA functionality in ath9k CSA is only enabled for one interface, but the same limitation applies for mac80211 too. It checks whether the beacon has been sent (different approaches for non-EDMA-enabled and EDMA-enabled devices), and completes the channel switch after that. Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
59505c02e106ce9388d816799cd64b0405f98f2f |
|
07-Jun-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: limit multicast buffer hardware queue depth The CAB (Content after Beacon) queue is used for beacon-triggered transmission of buffered multicast frames. If lots of multicast frames were buffered and this queue fills up, it drowns out all regular traffic. To limit the damage that buffered traffic can do, try to limit the queued data to becaon_interval / 8. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
2664d6665f45ef582583d14929dba1170829042e |
|
08-May-2013 |
Thomas Pedersen <thomas@cozybit.com> |
ath9k: use ap style beaconing for mesh Chun-Yeow and Javier Lopez contributed these changes to make mesh mode use the more similar AP beaconing mode and queue parameters. Should improve PS performance, interface concurrency (AP modes can coexist), and beacon interval stability. AR9271 (ath9k_htc) mesh interfaces also need to be in AP operating mode. Signed-off-by: Thomas Pedersen <thomas@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
675a0b049abf6edf30f8dd84c5610b6edc2296c8 |
|
25-Mar-2013 |
Karl Beldan <karl.beldan@rivierawaves.com> |
mac80211: Use a cfg80211_chan_def in ieee80211_hw_conf_chan Drivers that don't use chanctxes cannot perform VHT association because they still use a "backward compatibility" pair of {ieee80211_channel, nl80211_channel_type} in ieee80211_conf and ieee80211_local. Signed-off-by: Karl Beldan <karl.beldan@rivierawaves.com> [fix kernel-doc] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
1a6404a1d8497692f31808319d662c739033c491 |
|
04-Feb-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix IBSS joiner mode On joining an existing IBSS network, beaconing has to start only after a TSF sync has happened by receiving a beacon from the BSS. In creator mode, beaconing can start immediately after a HW reset has been done. Now that mac80211 notifies the driver of the mode type (creator/joiner) via ieee80211_bss_conf->ibss_creator, make use of it to properly setup the HW beacon timers. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1381559ba48a04ca7c98f1b4c487bd44d0b75db5 |
|
20-Jan-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: clean up processing of pending tx frames on reset Dropping packets from aggregation sessions is usually not a good idea, as it might upset the synchronization of the BlockAck receive window of the remote node. The use of the retry_tx parameter to reset/tx-drain functions also seemed a bit arbitrary. This patch removes this parameter altogether and ensures that pending tx frames are not dropped for no good reason. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
3adcf20afb585993ffee24de36d1975f6b26b120 |
|
09-Jan-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: remove the WARN_ON that triggers if generating a beacon fails During teardown, mac80211 will not return a new beacon. This is normal and handled properly in the driver, so there's no need to spam the user with a kernel warning here. Cc: stable@vger.kernel.org Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1adb2e2b5f85023d17eb4f95386a57029df27c88 |
|
09-Jan-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix double-free bug on beacon generate failure When the next beacon is sent, the ath_buf from the previous run is reused. If getting a new beacon from mac80211 fails, bf->bf_mpdu is not reset, yet the skb is freed, leading to a double-free on the next beacon tx attempt, resulting in a system crash. Cc: stable@vger.kernel.org Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
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>
|
249ee72249140fe5b9adc988f97298f0aa5db2fc |
|
03-Oct-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: use ieee80211_free_txskb Using ieee80211_free_txskb for tx frames is required, since mac80211 clones skbs for which socket tx status is requested. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Cc: stable@vger.kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
124b979baeb2d7a0593be8d392f43725578478c1 |
|
17-Jul-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Fix race in reset-work usage Using work_pending() to defer certain operations when a HW-reset work has been queued is racy since the check would return false when the work item is actually in execution. Use SC_OP_HW_RESET instead to fix this race. Also, unify the reset debug statistics maintenance. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
fb6e252f8d262d05da3ae023b4a6f83d0eec17d9 |
|
17-Jul-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Cleanup the beacon tasklet Remove unused variables, use a helper function to choose the slot and reset beaconing status at one place. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
2f8e82e8ab4629e648925c566cc26bdcf25f0aec |
|
17-Jul-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Set the TSF adjust value properly Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
7e52c8aa35c987236a80b7063c418a3d29b51052 |
|
17-Jul-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Cleanup beacon queue configuration Setup the beacon queue parameters after disabling interrupts. Also, remove the redundant call in conf_tx() for IBSS mode since the queue would be configured with the appropriate cwmin/cwmax values when beaconing is enabled. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
aa45fe9683ba861bf49d51479b11b3d482b57416 |
|
17-Jul-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Remove is_bslot_active In the tx_last_beacon() callback, mac80211's beaconing status can be used instead. The beacon tasklet doesn't require it because it is disabled when removing a slot. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ef4ad63368e6162fb0b18861748fac49edfcbd03 |
|
17-Jul-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Cleanup beacon logic * The beaconing status routine is not required, since in multi-VIF cases the HW beacon parameters should not be re-configured. * Remove SC_OP_TSF_RESET - when a beaconing interface comes up the first time, the TSF has to be reset. * Simplify ath9k_allow_beacon_config(). * Handle setting/clearing the SWBA interrupt properly. * Remove the TSF mangling in IBSS mode, it is not required. * General code cleanup. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
6c43c090a92938c3e89ce3b7459f91c5159535e2 |
|
17-Jul-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Simplify ASSOC handling Cleanup the messy logic dealing with station association and disassociation. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
130ef6e9dc76f821caf98fa9ed6e2dafe15f3b1f |
|
17-Jul-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix beacon setup This patch revamps interface addition and deletion and simplifies slot allocation. There is no need to setup the beacon buffer in add/remove interface, remove this and use simple APIs for assigning/deleting slots. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
781b14a3153a722fec820374271316537881076e |
|
04-Jun-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Use atomic operations The 'sc_flags' variable is being used in a number of places with no locking whatsoever. This patch converts the usage of sc_flags to atomic ops. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d202caff28d69f4ec6cf56568f79b0916294cade |
|
29-May-2012 |
Vivek Natarajan <nataraja@qca.qualcomm.com> |
ath9k: Ensure a fair beacon distribution in IBSS mode Configure CWmin based on slot time for IBSS mode. This helps in increasing the beacon distribution of ath9k to accepted levels in 11a mode. Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ed2578cd24d033dcaa046b7324e91215ae1fdd8d |
|
19-Apr-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: simplify beacon configuration for beaconing vifs As of now beacon configuration is being called multiple times in bss info change notification. This patch avoids multiple configuration and make it simpler. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
cd484aeb4976899a4c6efbed951ac2fc8c51e097 |
|
13-Apr-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: fix beacon descriptor The tx interrupt for beacon queue is configured only for edma chips. As the edma chip does not support per descriptor interrupt, no need to set INTREQ for every beacon descriptor. And also clear ps filter for beacon frame. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4e7fb7187d69132cf8223d4f8a49f86a6aba529d |
|
13-Apr-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: skip beaconing when reset work is pending Whenever the reset work is queued up, do not generate beacon. And also clear the beacon miss count once the beacon stuck was observed. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
de5f8fc3a3fd4db14568332ffe39a117eaae5498 |
|
13-Apr-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: fix ibss beacon next tbtt Sync-up ibss beacon timer with the beacon frame's timestamp. When the node acts as joiner, it has to sync with the received beacon timestamp instead of reading tsf from hw. As the hw tsf wont wont be update till bssid is configured. This patch programs hw tsf with the received beacon timestamp if beacon timers are yet to be configured. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
b381fa3229a30f6d7b0e6053314c4a5378c9389d |
|
12-Apr-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: optimize the hardware hang check Since it's only called when beacons are stuck, move it to the SWBA handler tasklet, to avoid doing redundant checks on every single interrupt. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d47a61aa228709fe1704e18a2f444661c10b81c0 |
|
14-Mar-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix multi-VIF BSS handling mac80211 provides short preamble information and ERP protection information on a per-BSS basis, which can be used. Remove flags stored in the driver, which was incorrect since they were being used in a global manner. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4e0ad2591adde7bec878a4b37a073427aec3e19c |
|
27-Feb-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix drv_tx_last_beacon on AR9003 by processing beacon tx status Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d6157bf78015e53371e806e0f8fd44ef6a1bfc5d |
|
27-Feb-2012 |
Felix Fietkau <nbd@openwrt.org> |
Revert "ath9k_hw: Fix false tx hung detection in AR9003 chips" The approach of this change is flawed, as it triggers tx status processing from more callsites, yet the chips only have one global tx status queue. Subsequent patches will properly fix the issue that this one tried to address. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
98f0a5eb02bbfff662664bf65f469dc4abd701fd |
|
28-Dec-2011 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: tx queue enable is read only for EDMA chipsets for EDMA chip AR_Q_TXE (tx enable for each queue) is read only Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> 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>
|
72d874c67c3cdf21ca95045baabac6a5843222d8 |
|
08-Oct-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: make ath9k_hw_set_interrupts use ah->imask by default Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
493cf04fd37bf265dc3c9aad357e3e34654c86e3 |
|
14-Sep-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: use the new API for setting tx descriptors With the new API, tx descriptors can be written in one single pass instead of having to re-read and rewrite fields from multiple places. This makes the code easier to read and also slightly improves performance on embedded MIPS hardware. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
7a2721a3233d32c958a474f78c20e25c9efa221c |
|
14-Sep-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: call ath9k_hw_set_desc_link for beacon descriptors This ensures that only ath9k_hw_set_desc_link needs to recalculate the tx descriptor checksum on AR9380+ Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c31c8261bf7b817e323d29ba66c031f6b0982680 |
|
14-Sep-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: make beacon timer initialization more reliable When starting the AP beacon timer, it assumes that the TSF has recently been cleared. Set the SC_OP_TSF_RESET flag to ensure that this is always the case. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
236de5149b9cbec3e76aef00a4663a8de7feeebe |
|
03-Sep-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: always call ath_reset from workqueue context This makes it much easier to add further rework to avoid race conditions between reset and other work items. Move other functions to make ath_reset static. Signed-off-by: Felix Fietkau <nbd@openwrt.org> 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>
|
e8fe7336849e469978c9bbcc435903595912c4d3 |
|
05-Aug-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Use atomic reference count for interrupt ops Let us enable/disable interrupts based on reference count. By doing this we can ensure that interrupts are never be enabled in the middle of tasklet processing. Instead of addressing corner cases like "ath9k: avoid enabling interrupts while processing rx", this approach handles it in generic manner. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
b037b693265e5c83ddc3f003a713d19b9832bf24 |
|
05-Aug-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: do not enable interrupt on set interrupt mask At preset set_interrupt also enables interrupt after changing mask. This is not necessary in all cases and also sometime it breaks the assumption that interrupt was disabled. So let us enable the interrupt explicity if it was disabled earlier. This could also avoid unnecessary register ops and also helps the follow up patch to have global ref count for interrupts ops. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
f6b4e4d476b890e1ddebbed8ec4924f9c2750a31 |
|
24-Jun-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Fix locking issue during tx completion The received tx status of aggregated frame without BlockAck may cause deaf state in AR5416 cards. So the driver does a reset to recover. When this happens, we release the pcu_lock before doing a reset as ath_rest acquires pcu_lock. This is ugly and also not atomic. Fixing this addresses the TX DMA failure also. ath_tx_complete_aggr can be called from different paths which takes different variants of spin_lock. This patch also addresses the following warning. WARNING: at kernel/timer.c:1011 del_timer_sync+0x4e/0x50() Call Trace: <IRQ> [<ffffffff8104be3a>] warn_slowpath_common+0x7a/0xb0 [<ffffffff8104be85>] warn_slowpath_null+0x15/0x20 [<ffffffff8105915e>] del_timer_sync+0x4e/0x50 [<ffffffffa03726be>] ath_reset+0x3e/0x210 [ath9k] [<ffffffff8135cdaf>] ? _raw_spin_unlock_bh+0x1f/0x30 [<ffffffffa037760a>] ath_tx_complete_aggr.isra.26+0x54a/0xa40 [ath9k] Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
dcfcbd590d91e8385eb554aaed419bdebaf4c72a |
|
23-Jun-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Fix false tx hung detection in AR9003 chips The edma based (AR9003 family) chips update tx status descriptors in a common ring buffer for all transmitted frames. Whenever tx interrupt is raised, the descriptors are processed and tx status index is moved. The complete tx stauts ring are updated with beacons tx status when there are no data frames to be sent for a period of time. In this state, transmitting data frames causes the driver to wait for the tx status on an incorrect tx status index though the status was updated by hw properly. The driver detects this condition as a h/w hang and does unnecessary chip resets. This issue was orginally reported in adhoc mode while sending frames after an idle time. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
b7f080cfe223b3b7424872639d153695615a9255 |
|
16-Jun-2011 |
Alexey Dobriyan <adobriyan@gmail.com> |
net: remove mm.h inclusion from netdevice.h Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually). To prevent mm.h inclusion via other channels also extract "enum dma_data_direction" definition into separate header. This tiny piece is what gluing netdevice.h with mm.h via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h". Removal of mm.h from scatterlist.h was tried and was found not feasible on most archs, so the link was cutoff earlier. Hope people are OK with tiny include file. Note, that mm_types.h is still dragged in, but it is a separate story. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
81168e509f06aa205b240c1804ec2b9b5add4772 |
|
24-May-2011 |
Fabrice Deyber <fabricedeyber@agilemesh.com> |
ath9k: Further fix for mesh beaconing This fix ensure the timers to be set at beacon interval boundaries. Without this change timers can be set improperly resulting in the absence of beacons. Signed-off-by: Fabrice Deyber <fabricedeyber@agilemesh.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
f29f5c0882bdd58c42b8176ee0b578f92589fda2 |
|
20-May-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: Remove ATH9K_BEACON_PERIOD mask Earlier beacon_interval is used to hold interval value and some flags (ATH9K_BEACON_ENA &ATH9K_BEACON_PERIOD). So to extract interval ATH9K_BEACON_PERIOD is used. Those flags were completely removed. So masking beacon_interval is not required. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ba4903f97a275ed0967b58ff882f8ab41bec24ad |
|
17-May-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: implement .tx_last_beacon() Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ac56703e0e790509963ee42cddebe706fbd3b74c |
|
17-May-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix ad-hoc nexttbtt calculation rounding up the delta between last-beacon-tsf and tsf to intval is wrong and can lead to misconfigured timers which breaks beacon transmission. Fix this by adding intval and subtracting the offset of the tsf within the current slot. Signed-off-by: Felix Fietkau <nbd@openwrt.org> 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>
|
c6820f1e6c8273ca4b8f94c2354193d19e1a5c47 |
|
16-May-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix ad-hoc mode beacon selection In ad-hoc mode, beacon timers are configured differently compared to AP mode, and (depending on the scenario) can vary enough to make the beacon tasklet not detect slot 0 based on the TSF. Since staggered beacons are not (and cannot be) used in ad-hoc mode, it makes more sense to just hardcode slot 0 here, avoiding unnecessary TSF reads and calculations. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Reported-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
deb751880af6f2dce6cdc232a7b023f2b58cd815 |
|
06-May-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: avoid enabling interrupts while processing rx The assumsion is that while processing ath9k tasklet, interrupts were already disabled and it will be enabled at the completion of ath9k tasklet. But whenever TSFOOR is raised, the driver configures the beacon timers after having received a beacon frame from the AP which inturn enables the interrupts. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
92c6f76c6d44a869bf3b252dbb2e358ae7399a96 |
|
22-Apr-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: set beacon related ps flags on bss_info change Requesting beacon sync up to configure beacon timers properly in hw, has be done after doing beacon config with default values. Setting the flags in beacon config is causing the device to not enter into network sleep on idle state. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
8e22ad323fb5b7cefb572bd8730e3abef95cdf90 |
|
17-Apr-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: Fix beacon generation on foreign channel While leaving the oper channel, beacon generation is stopped by mac80211 and beacon slots are marked as inactive. During the scan, ath9k configures beacon timers based on IEEE80211_CONF_OFFCHANNEL which inturn generates beacon alert even though bslot is inactive. ath9k fails to disable beacon alert while moving to offchannel if none of the beacon slot is active. This is causing beacon transmission on foreign channel. This patch enables swba based on active bslots. This issue was reported with two vifs (AP+STA) and triggered scan in STA vif in unassociated state. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
10add41f2b7a7bc1a74ba7bb535a6745cac318a2 |
|
12-Apr-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: Fix improper beacon slot selection in IBSS Request a re-configuration of Beacon related timers on the receipt of the first Beacon frame has to be set only for station mode. Setting beacon sync for IBSS is causing wrong beacon slot selection on beacon generation. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
f60c49b67dd6db2ccb740a6a671414f9dab00c4f |
|
08-Apr-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: Fix kernel panic on module unload The commit "ath9k: configure beacons based on hw opmode" introduced a regression which leads to kernel panic. Failed to stop ani timer during the driver unload while any of the beaconing vif is running. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
99e4d43ad5ff5778f92ee3bc40a29ac7cd8a28f4 |
|
04-Apr-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: configure beacons based on hw opmode Current ath9k code does not handle beacon timers on opmode specific. One such example is that a STA beacon config overwrites already configured AP vif's beacon timers during scan. On multi station vif case, configure beacon timers beased on primary vif selected. This also helps while moving back to single STA vif from multi STA vifs, where the power save is enabled and hw has to be reconfigured with proper beacon and bssid/aid. Otherwise connection poll will be triggered so frequently due to beacon loss. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
66da424177db4f4f2fa7a462db5912655aad966f |
|
04-Apr-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: Cleanup ath_vif struct Remove unused bssid from ath_vif and set av_bslot on beacon alloc/return. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
26cd322bacd3d65fffef6f8418c2fdad5b42e4b5 |
|
02-Apr-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: use the hw opmode to select the beacon timer mode Since the beacon timers are global, the individual vif type should not be used to determine the beacon timer configuration mode, use the global opmode instead. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
5e65968a10bb628b87024161c9adc8dbd886b47a |
|
02-Apr-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix beacon slot processing in ad-hoc mode The recent cleanups in the beacon code fixed SWBA backoff calculation, however it did not remove a line of code that worked around the issues from the earlier version of the code. After the cleanup, the initial TSF based slot calculation now always returns 0 instead of ATH_BCBUF-1, so the previous hack that reversed the slot order needs to be removed, as ad-hoc mode does not use staggered beacons. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c944daf46a8cfa50d6c1f54d4842180d0384c594 |
|
22-Mar-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix stuck beacon detection Stuck beacon detection is supposed to trigger when 9 consecutive beacons could not be sent by the hardware. When the driver runs only one active AP mode interface, it still configures the hardware beacon timer for 4 (ATH_BCBUF) beacon slots slots, which causes stuck beacon detection to be reset if ath9k_hw_stoptxdma clears the stuck frames between SWBA intervals. Fix this by not resetting the missed beacon count for empty slots and multiplying the threshold not by the maximum number of beacon slots but by the configured number of beacon interfaces. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
87c510fe2d4f193cd4eb518364a2dfa5059b1218 |
|
22-Mar-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: trigger nfcal only after multiple missed beacons in AP mode Single missed (i.e. not transmitted) beacons in AP mode are not very rare and not necessarily an indicator of strong interference, so only trigger noise floor recalibration when multiple consecutive beacons could not be transmitted. Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
dd347f2fb2ddb20a80e9a8285252bf208ab91398 |
|
22-Mar-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix beacon timer handling issues AP mode beacon timers in ath9k are configured in milliseconds, which breaks when increasing ATH_BCBUF to 8 instead of 4 (due to rounding errors). Since the hardware timers are actually configured in microseconds, it's better to let the driver use that unit directly. To be able to do that, the beacon interval parameter abuse for passing certain flags needs to be removed. This is easy to do, because those flags are completely unnecessary anyway. ATH9K_BEACON_ENA is ignored, ATH9K_BEACON_RESET_TSF can be replaced with calling ath9k_hw_reset_tsf from the driver directly. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
efff395e97fffd55c60c77c09a18deba8d84e2c0 |
|
11-Mar-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: improve reliability of beacon transmission and stuck beacon handling ath9k calls ath9k_hw_stoptxdma every time it sends a beacon, however there is not much point in doing that if the previous beacon and mcast traffic went out properly. On AR9380, calling that function too often can result in an increase of stuck beacons due to differences in the handling of the queue enable/disable functionality. With this patch, the queue will only be explicitly stopped if the previous data frames were not sent successfully. With the beacon code being the only remaining user of ath9k_hw_stoptxdma, this function can be simplified in order to remove the now pointless attempts at waiting for transmission completion, which would never happen at this point due to the different method of tx scheduling of the beacon queue. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
014cf3bb1e19a61c53666d7f990f584f1b7af364 |
|
09-Feb-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k: disable beaconing before stopping beacon queue Beaconing should be disabled before stopping beacon queue. Not doing so could queue up beacons in hw that causes failure to stop Tx DMA, due to pending frames in hw and also unnecessary beacon tasklet schedule. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
9814f6b34be5179849c0872e81eb99286ef4b051 |
|
08-Feb-2011 |
Steve Brown <sbrown@cortland.com> |
ath9k: Remove redundant beacon_interval The variable appears in both ath_softc and ath_beacon_config. The struct ath_beacon_config is embedded in ath_softc. The redundant variable was added by commit id 57c4d7b4c4986037be51476b8e3025d5ba18d8b8. Signed-off-by: Steve Brown <sbrown@cortland.com> Reviewed-by: Mohammed Shafi <shafi.ath9k@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
3a2329f2680796b0c09ff207803ea880a481c3a4 |
|
07-Feb-2011 |
Mohammed Shafi Shajakhan <mshajakhan@atheros.com> |
ath9k: Update comments for not parsing DTIM period Add few comments for not parsing DTIM period from mac80211 Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
9ac58615d93c8a28b1c649a90a5e2ede4dfd368a |
|
24-Jan-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fold struct ath_wiphy into struct ath_softc Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
7545daf498c43e548506212310e6c75382d2731d |
|
24-Jan-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: remove support for virtual wiphys Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d7e86c3219a1287dd1350a590ee79c8753ff2420 |
|
20-Jan-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: remove a bogus error message When beacons are being added or removed for an interface, ieee80211_beacon_get will sometimes not return a beacon. This is normal and should not result in useless logspam. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4801416c76a3a355076d6d371c00270dfe332e1c |
|
15-Jan-2011 |
Ben Greear <greearb@candelatech.com> |
ath9k: Fix up hardware mode and beacons with multiple vifs. When using a mixture of AP and Station interfaces, the hardware mode was using the type of the last VIF registered. Instead, we should keep track of the number of different types of vifs and set the mode accordingly. In addtion, use the vif type instead of hardware opmode when dealing with beacons. Attempt to move some of the common setup code into smaller methods so we can re-use it when changing vif mode as well as adding/deleting vifs. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ee832d3e9e72abf83931205a2f5379944be501c2 |
|
28-Dec-2010 |
Mohammed Shafi Shajakhan <mshajakhan@atheros.com> |
ath9k: Few clean ups in beacon config parameters Some minor clean ups in assigning values to beacon config parameters Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@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>
|
ea066d5a91f2610116dcd27054f749e4f07799d8 |
|
23-Nov-2010 |
Mohammed Shafi Shajakhan <mshajakhan@atheros.com> |
ath9k: Add support for Adaptive Power Management This feature is to mitigate the problem of certain 3 stream chips that exceed the PCIe power requirements.An EEPROM flag controls which chips have APM enabled which is basically read from miscellaneous configuration element of the EEPROM header. This workaround will reduce power consumption by using 2 Tx chains for Single and Double stream rates (5 GHz only).All self generated frames (regardless of rate) are sent on 2 chains when this feature is enabled(Chip Limitation). Cc: Paul Shaw <paul.shaw@atheros.com> Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Tested-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
28d167086227969fd6586953ee4ac682a3c394ff |
|
14-Nov-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: clean up code duplication around ath_tx_start Merge initial processing for the CAB queue and regular tx. Also move ath_tx_cabq() to beacon.c and make it static. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
066dae93bdfcc7af5e38a33617773fd5c6457607 |
|
07-Nov-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: rework tx queue selection and fix queue stopping/waking The current ath9k tx queue handling code showed a few issues that could lead to locking issues, tx stalls due to stopped queues, and maybe even DMA issues. The main source of these issues is that in some places the queue is selected via skb queue mapping in places where this mapping may no longer be valid. One such place is when data frames are transmitted via the CAB queue (for powersave buffered frames). This is made even worse by a lookup WMM AC values from the assigned tx queue (which is undefined for the CAB queue). This messed up the pending frame counting, which in turn caused issues with queues getting stopped, but not woken again. To fix these issues, this patch removes an unnecessary abstraction separating a driver internal queue number from the skb queue number (not to be confused with the hardware queue number). It seems that this abstraction may have been necessary because of tx queue preinitialization from the initvals. This patch avoids breakage here by pushing the software <-> hardware queue mapping to the function that assigns the tx queues and redefining the WMM AC definitions to match the numbers used by mac80211 (also affects ath9k_htc). To ensure consistency wrt. pending frame count tracking, these counters are moved to the ath_txq struct, updated with the txq lock held, but only where the tx queue selected by the skb queue map actually matches the tx queue used by the driver for the frame. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Reported-by: Björn Smedman <bjorn.smedman@venatech.se> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4df3071ebd92ef7115b409da64d0eb405d24a631 |
|
08-Nov-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: optimize interrupt mask changes OProfile showed that ath9k was spending way too much time in ath9k_hw_set_interrupts. Since most of the interrupt mask changes only need to globally enable/disable interrupts, it makes sense to split this part into separate functions, replacing all calls to ath9k_hw_set_interrupts(ah, 0) with ath9k_hw_disable_interrupts(ah). ath9k_hw_set_interrupts(ah, ah->imask) only gets changed to ath9k_hw_enable_interrupts(ah), whenever ah->imask was not changed since the point where interrupts were disabled. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
fac6b6a065da42f826088c58bddad82e1b1ccb40 |
|
23-Oct-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: resume aggregation immediately after a hardware reset Since aggregation is usually triggered by tx completion, a hardware reset (because of beacon stuck, tx hang or baseband hang) can significantly delay the transmission of the next AMPDU (until the next tx completion event). Fix this by rescheduling aggregation after such a reset. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
6cf9e995f91e5bbffb2bef85feef490e5b67605d |
|
14-Oct-2010 |
Ben Greear <greearb@candelatech.com> |
ath9k: Null out references to stale pointers. This doesn't fix any problem that I'm aware of, but should make it harder to add use-after-free type bugs in the future. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c1739eb3e61e160f124bc842c219011916f63068 |
|
14-Oct-2010 |
Ben Greear <greearb@candelatech.com> |
ath9k: Remove bf_dmacontext. The bf_dmacontext seems to be totally useless and duplicated by bf_buf_addr. Remove it entirely, use bf_buf_addr in its place. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
70cf15335eb35d562a4ec6d8860611c87f775cf2 |
|
02-Aug-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: use AP beacon miss as a trigger for fast recalibration When beacons get stuck in AP mode, the most likely cause is interference. Such interference can often go on for a while, and too many consecutive beacon misses can lead to connected clients getting dropped. Since connected clients might not be subjected to the same interference if that happens to be very local, the AP should try to deal with it as good as it can. One way to do this is to trigger an NF calibration with automatic baseband update right after the beacon miss. In my tests with very strong interference, this allowed the AP to continue transmitting beacons after only 2-3 misses, which allows a normal client to stay connected. With some of the newer - really sensitive - chips, the maximum noise floor limit is very low, which can be problematic during very strong interference. To avoid an endless loop of stuck beacons -> nfcal -> periodic calibration -> stuck beacons, the beacon miss event also sets a flag, which allows the calibration code to bypass the chip specific maximum NF value. This flag is automatically cleared, as soon as the first NF median goes back below the limits for all chains. In my tests, this allowed an ath9k AP to survive very strong interference (measured NF: -68, or sometimes even higher) without losing connectivity to its clients. Even under these conditions, I was able to transmit several mbits/s through the interface. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
6252fcb9f802a992c697edf105e30271a4ae3246 |
|
02-Aug-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: add a separate debug level for stuck beacons Stuck beacons are a useful indicator for debugging various PHY issues such as calibration. Putting them on the same debug level as the other beacon stuff makes it hard to spot them in huge amounts of spam. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1d2231e2e27a7df6a3dc7827d244b7736b7d164a |
|
12-Jun-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: remove duplicate WMM AC definitions Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
a65e4cb402b5f3e120570ba1faca4354d47e8f2f |
|
13-May-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: remove VEOL support for ad-hoc With VEOL, Beacon transmission in ad-hoc does not currently work. I believe for larger ad-hoc networks, VEOL is too unreliable, as it can get beacon transmissions stuck during synchronization. Use SWBA based beacon trasmission similar to AP mode instead. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Acked-by: Benoit Papillault <benoit.papillault@free.fr> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
774610e4f26cb3d9da14a8b5974324c9e51017bd |
|
13-May-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: change beacon allocation to prefer the first beacon slot This fixes IBSS beacon transmissions without VEOL enabled Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
cc610ac0557b0ad0dcffdff1230cef28a970d755 |
|
15-Apr-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Define abstraction for tx desc access Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
3f3a1c8031fd87a7d0195d0a8e8101d04c283fcc |
|
15-Apr-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Move code which populates ds_data to ath9k_hw Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
3069168c82d65f88e4ac76eda09baff02adfd743 |
|
01-Apr-2010 |
Pavel Roskin <proski@gnu.org> |
ath9k: move imask from sc to ah Add ah variable in the functions that didn't have it and used sc->imask. Replace sc->sc_ah with ah in those functions. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d8728ee919282c7b01b65cd479ec1e2a9c5d3ba8 |
|
19-Feb-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fix beacon timer restart after a card reset In AP mode, ath_beacon_config_ap only restarts the timer if a TSF restart is requested. Apparently this was added, because this function unconditionally sets the flag for TSF reset. The problem with this is, that ath9k_hw_reset() clobbers the timer registers (specified in the initvals), thus effectively disabling the SWBA interrupt whenever a card reset without TSF reset is issued (happens in a few places in the code). This patch fixes ath_beacon_config_ap to only issue the TSF reset flag when necessary, but reinitialize the timer unconditionally. Tests show, that this is enough to keep the SWBA interrupt going after a call to ath_reset() Signed-off-by: Felix Fietkau <nbd@openwrt.org> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
64b84010f9f85996a219fcc697396e7e11be3459 |
|
16-Feb-2010 |
Jouni Malinen <jouni.malinen@atheros.com> |
ath9k: Use the Beacon TX rate from mac80211 Instead of hardcoding the lowest rate for Beacon frames, use the rate index specified in the mac80211 TX info in AP mode. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1a20034a73a40b8056731f9db0c535cec2961eb7 |
|
03-Feb-2010 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k: configure the beacon only if the STA is associated beacons configuration SHOULD be done only if the STA is associated. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
0005baf4a31efe6de6f922f73ccbd3762a110062 |
|
15-Jan-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: cleanup slot time and ack/cts timeout handling Previously ath9k left the initialization of slot timing and ACK/CTS timeout to the mode specific initvals. This does not handle short vs long slot in 2.4 GHz and uses a rather strange value for the 2.4 GHz ACK timeout (64 usec). This patch uses the proper ath9k_hw functions for setting slot time and timeouts and also implements the switch between short and long slot time in 2.4 GHz Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
94db29368a658b13a088db87c7b0bf59b1a7492d |
|
24-Nov-2009 |
Vivek Natarajan <vnatarajan@atheros.com> |
ath9k: Ensure a fair beacon distribution in IBSS mode. Update the beacon queue parameters with best effort queue parameters for IBSS mode. This reduces the number of beacons generated by ath9k and ensures a fair beacon distribution when there are multiple IBSS stations. Also CWmin is quadrupled to achieve the expected percentage of distribution. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
545750d36fa78203e28acefb4bab61ebb7c4d197 |
|
23-Nov-2009 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: properly use the mac80211 rate control api This patch changes ath9k to pass proper MCS indexes and flags between the RC and the rest of the driver code. sc->cur_rate_table remains, as it's used by the RC code internally, but the rest of the driver code no longer uses it, so a potential new RC for ath9k would not have to update it. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
536b3a7a10c8fd39576a0602bfeca9bbd04658a6 |
|
07-Oct-2009 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k: rename ath_beaconq_setup() to ath9k_hw_beaconq_setup() And move it to hw code on mac.c where it belongs. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
43c2761364b77cd7fd20eb1f14cfee4cd1462abd |
|
14-Sep-2009 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
atheros: move tx/rx chainmask to ath_common Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c46917bb53a546f60c7d3103407fe953c418dd5b |
|
13-Sep-2009 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
atheros: add common debug printing ath9k uses this for now, ath9k_htc is expected to re-use this as well. We lave ath5k as is, but it certainly can also be converted later. The ath9k module parameter and debugfs entry is kept. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
21526d57ad98635fe12dc8efe46a3d992439a443 |
|
10-Sep-2009 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k: move ps helpers onto core driver when reseting tsf When the TSF is reset power save state is disabled and then restored. The helpers to disable power save and restore it use a lock provided by the driver core. Move the callers of the helpers outside of the hw code. We reset the TSF when mac80211 tells us and on the beacon.c helper ath9k_hw_beaconinit() when it is made explicitly required. Add a helper on beacon.c which will deal with ps awake/restore if we need to reset the TSF upon ath9k_hw_beaconinit(). Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4d6b228d84ba992ee13c90312c1ed539191c94b1 |
|
07-Sep-2009 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k: use ath_hw for DPRINTF() and debug init/exit DPRINTF() is used in hw specific related code, as such ensure we don't rely on the private driver core ath_softc struct when calling it. Drivers can then implement their own DPRINTF() as they see fit. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c4f9f16b309b65f9f578ec4ba78b3efa106cf65d |
|
12-Jun-2009 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k: Make sure we configure a non-zero beacon interval This patch moves the sanity check on beacon interval which was done only for mesh mode to all operating modes just to be safe. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
546256fbd06d70a87381020ea8553fb78c9abf43 |
|
28-May-2009 |
Jouni Malinen <jouni.malinen@atheros.com> |
ath9k: Add sanity check for beacon_int in adhoc/mesh case It looks like mac80211 can request the driver to start beaconing with a beacon interval of zero in some cases (at least for mesh point). This does not sound correct and something may need to be fixed in mac80211. However, taken into account the unpleasantness of getting stuck in an infinite busy loop with rtnl_lock held, let's add a quick workaround in the driver to avoid the worst symptom while someone more familiar with the mesh implementation can figure out what should be done with mac80211 as far as beacon interval configuration is concerned. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
b74444f8a9039603715973a56df588a5d800c4ef |
|
27-May-2009 |
Jeff Hansen <x@jeffhansen.com> |
ath9k: Reset SC_OP_TSF_RESET flag after stuck beacon I have a TrendNet 652-BRP running OpenWRT + ath9k very well. The only problem is that the beacon gets stuck maybe once a day. After Vasanthakumar Thiagarajan's "ath9k: cleanup beacon parameters configuration" patch, ath9k would nearly re-configure the beacons after it detected the stuck beacon, and did a reset. But it would fail the SC_OP_TSF_RESET check in ath_beacon_config_ap. This patch gets the beacon fully reconfigured after the reset. Signed-off-by: Jeff Hansen <x@jeffhansen.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
267a90127472be70b02ab13cbd355b5013e2aa51 |
|
20-May-2009 |
Jouni Malinen <jouni.malinen@atheros.com> |
ath9k: Optimize TBTT/DTIM calculation for timers The previous version used a simple loop to go through all Beacon frames when determining the next TBTT and DTIM count. This is not too bad for the case where the setup happens before timesync (i.e., very small TSF), but this can become very heavy operation if a short Beacon interval is used and the current TSF is large. In preparation for a patch to update timer setup based on Beacon timestamp, optimize this routine to take fixed time regardless of the actual TSF value. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
6b96f93e962e25d38d7a73c0009597672d87c496 |
|
15-May-2009 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k: cleanup beacon parameters configuration This patch configures the beacon timers with beacon interval and beacon period passed through vif.bss_conf. Also cache the currecnt beacon configuration which will be used to configure the beacon timers when the driver triggers it after reset. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d31e20af9f65e38429a3ed32175f8e233bdcd2b2 |
|
15-May-2009 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k: Remove unused parameters which are passed to ath_beacon_config_X() Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4f0fc7c39f2a224b939f22d4dca552b266319525 |
|
06-May-2009 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k: make private driver rate tables const On x86 this allows us to do the following small savings: shave off 23 % off of the module's data, and shave off 6 % off of the module's text. We save 456 bytes, for those counting. $ size ath9k.ko text data bss dec hex filename 250794 3628 1600 256022 3e816 ath9k.ko $ size ath9k-old.ko text data bss dec hex filename 239114 15308 1600 256022 3e816 ath9k-old.ko $ du -b ath9k.ko 4034244 ath9k.ko $ du -b ath9k-old.ko 4033788 ath9k-old.ko Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
57c4d7b4c4986037be51476b8e3025d5ba18d8b8 |
|
23-Apr-2009 |
Johannes Berg <johannes@sipsolutions.net> |
mac80211: clean up beacon interval settings 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 <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
203c4805e91786f9a010bc7945a0fde70c9da28e |
|
31-Mar-2009 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
atheros: put atheros wireless drivers into ath/ Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|