summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath
Commit message (Collapse)AuthorAgeFilesLines
* ath9k_hw: extend GPIO pin select mask for rfkillMohammed Shafi Shajakhan2011-10-031-6/+1
| | | | | | | | | | | | this extends the bits for rf kill GPIO selection to [7:2] from [4:2] as we use GPIO pin 11 as rfkill for AR9480 and also remove few unused macros Cc: Wilson Tsao <wtsao@qca.qualcomm.com> Cc: "Hu, Russell" <rhu@qca.qualcomm.com> Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_htc: add AVM FRITZ!WLAN 11N v2 supportLuis R. Rodriguez2011-10-031-0/+1
| | | | | | | | | | | | | | This was reported and tested by Martin Walter over at AVM GmbH Berlin. This also applies to 3.0.1 so sendint to stable. Cc: s.kirste@avm.de Cc: d.friedel@avm.de Cc: Martin Walter <m.walter@avm.de> Cc: Peter Grabienski <pgrabien@qca.qualcomm.com> Cc: stable@kernel.org Tested-by: Martin Walter <m.walter@avm.de> Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'for-linville' of git://github.com/kvalo/ath6klJohn W. Linville2011-10-0321-1549/+4050
|\
| * ath6kl: include vmalloc.h in debug.cKalle Valo2011-10-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes compilation errors when compiling for ARM: ath6kl/debug.c:312: error: implicit declaration of function 'vmalloc' ath6kl/debug.c:312: warning: assignment makes pointer from integer without a cast ath6kl/debug.c:342: error: implicit declaration of function 'vfree' ath6kl/debug.c:696: warning: assignment makes pointer from integer without a cast ath6kl/debug.c:871: warning: assignment makes pointer from integer without a cast Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: fix size_t related warningsKalle Valo2011-10-011-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My earlier debug log additions added these warnings when compiling 64 bit kernels: ath6kl/init.c:962: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:975: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:988: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:1009: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ath6kl/init.c:1192: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' ath6kl/init.c:1236: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' ath6kl/init.c:1267: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Reported-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * wireless/ath6kl: use of module_param requires the inclusion of moduleparam.hStephen Rothwell2011-09-281-0/+1
| | | | | | | | | | | | | | | | | | Otheriwse the module.h split up fails like this: drivers/net/wireless/ath/ath6kl/init.c:27:26: error: expected ')' before 'uint' Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: improve wmi debug messagesKalle Valo2011-09-282-10/+37
| | | | | | | | | | | | | | Add a new debug level ATH6KL_DBG_WMI_DUMP and other minor improvements to the wmi debug messages. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: add debug logs for bootingKalle Valo2011-09-282-9/+63
| | | | | | | | | | | | Just to make it easier to find out why boot fails. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: add sdio debug messagesKalle Valo2011-09-282-9/+29
| | | | | | | | | | | | | | Add extensive debug messages to sdio.c. Makes it easier to debug various problems. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: add prefix parameter to ath6kl_dbg_dump()Kalle Valo2011-09-284-22/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | Makes it easier to recognise longs dumps. Obligatory screenshot using "rx" prefix: ath6kl: ath6kl_rx rx 00000000: 10 10 00 00 00 00 08 30 00 00 00 00 00 00 f9 0b .......0........ rx 00000010: 2c 44 08 30 00 00 f9 0b 0c a4 02 00 00 00 73 d2 ,D.0..........s. rx 00000020: 94 00 f9 0b 04 8c 01 00 02 00 07 02 02 00 f9 0b ................ Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: silence "invalid rate" warningKalle Valo2011-09-284-1/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason firmware is sending invalid rates when we try to query current bitrate from ath6kl_get_station() and a warning is issued: [ 3810.415720] ath6kl: invalid rate: 1935633515 [ 3811.105493] ath6kl: invalid rate: 1935633515 [ 3811.556063] ath6kl: invalid rate: 1935633515 As the warning happens way too often, convert the warning to a debug message once we have a proper fix. But to make it easy to follow how often the problem appears, add a debugfs to print various statistics about workarounds and make this issue the first WAR. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: allow firmware to override firmware patch addressKalle Valo2011-09-272-0/+8
| | | | | | | | | | | | | | In some firmware versions their patch address has changed. If the firmware provides one, use it to override the default address. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: fix TCP corruptionJouni Malinen2011-09-271-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 94e532d1a ("ath6kl: Fix system freeze under heavy data load") aligns the skb data without checking if the skb is cloned. Because of this ath6kl can corrupt the local TCP stack information that can result in TCP retransmission failing and TCP connections stalling. To avoid the corruption we need to copy the skb. Now the alignment in ath6kl_htc_tx_buf_align() doesn't corrupt TCP packets anymore (and is not even used for the cloned skb's that got copied since the alignment of the data is handled at the copy time). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Remove unnecessary retrieval of first list entry in ↵Vasanthakumar Thiagarajan2011-09-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | ath6kl_htc_tx_setup_scat_list() It is unnecessary to take the first list entry from queue again for transmission. Sometimes it may look racy when the head of the list changes between subsequent retrival, but should not happen in practical. Reported-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Fix compilation error while compiling w/o debugRajkumar Manoharan2011-09-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/net/wireless/ath/ath6kl/htc_hif.o: In function `ath6kl_debug_fwlog_event': drivers/net/wireless/ath/ath6kl/debug.h:109: multiple definition of `ath6kl_debug_fwlog_event' drivers/net/wireless/ath/ath6kl/debug.o: drivers/net/wireless/ath/ath6kl/debug.h:109: first defined here drivers/net/wireless/ath/ath6kl/htc_hif.o: In function `ath6kl_debug_cleanup': drivers/net/wireless/ath/ath6kl/debug.h:118: multiple definition of `ath6kl_debug_cleanup' drivers/net/wireless/ath/ath6kl/debug.o: drivers/net/wireless/ath/ath6kl/debug.h:118: first defined here Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Fix disconnect event reportingVasanthakumar Thiagarajan2011-09-231-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Driver does not report disconnect event properly when in connecting state, this leads to issues failures in starting reconnection. Send a disconnect command to target when a disconnect event is received with reason code other than 3 (DISCONNECT_CMD - disconnect request from host) to make the frimware stop trying to connect even after giving disconnect event. There will be one more disconnect event for this disconnect command with reason code DISCONNECT_CMD which will be notified to cfg80211. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: pass only unicast frames for aggregationKalle Valo2011-09-231-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When pinging form ar6003 to the AP RTT was high even when power save was disabled: 100 packets transmitted, 97 received, 3% packet loss, time 99125ms rtt min/avg/max/mdev = 1.875/46.733/795.506/139.181 ms After some investigation one reason for this was that received multicast traffic confused the aggrecation logic and caused 400 ms timeouts when receiving multicast frames from AP. A simple way to fix is to pass only unicast frames for aggregation. This improves RTT: 100 packets transmitted, 99 received, 1% packet loss, time 99144ms rtt min/avg/max/mdev = 2.083/13.084/403.390/56.794 ms Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Report PMKSA candidate events through cfg80211Jouni Malinen2011-09-222-0/+40
| | | | | | | | | | | | | | | | This allows RSN pre-authentication to be used when roaming decisions are done in the target. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Indicate the roaming capability of the firmwareVivek Natarajan2011-09-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the rssi of the current AP drops, both wpa_supplicant and the firmware may do a background scan to find a better AP and try to associate. This might lead to a race condition where both may try to connect to some AP based on their scan results. Since the firmware is capable of handling roaming, let wpa_supplicant know about this capability so that it will back off from bgscan based roaming. Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * Merge remote branch 'wireless-next/master' into ath6kl-nextKalle Valo2011-09-2244-3453/+7478
| |\
| * | ath6kl: Export beacon interval and DTIM period through STA infoJouni Malinen2011-09-223-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we allow the first Beacon frame after each connection to be processed at the host, we can figure out the DTIM period and expose it with Beacon interval through STA info BSS parameters to user space. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Update BSS information after connectionJouni Malinen2011-09-224-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we may end up using a dummy BSS entry when roaming, allow one Beacon frame -based bssinfo from the current BSS to be processed prior to starting to filter all bssinfo events. This allows cfg80211 BSS table to be filled with proper data in the roaming case where the full Beacon data may not have been present at the time of roamed event. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Remove unnecessary bssinfo event header conversionJouni Malinen2011-09-222-50/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no point in unconditionally converting the bssinfo header to the old version since only the new header is being used and the driver can as well read the values from it when needed. Leaving out the conversion saves some extra memory copying. In addition, use the calculated "rssi" value snr - 95 dBm to get the proper value in cfg80211 BSS table (i.e., something that more or less matches with the value used in STA info). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Remove the unused node table implementationJouni Malinen2011-09-228-422/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the scan results are reported directly to the cfg80211 BSS table there is no need for maintaining this internal node table implementation for scan results. Remove the definitions and node table functions. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Replace internal node table with cfg80211 BSS tableJouni Malinen2011-09-221-251/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The internal node table in ath6kl was not really used for any useful purpose. It was just used to collect scan results during a scan and then provide them in a burst to cfg80211 at the completion of the scan. There is no point in doing this since cfg80211 is perfectly capable of maintaining the BSS table and the BSS inform messages are sent in separate function calls anyway. This provides more complete information in the cfg80211 BSS table since this allows Beacon and Probe Response frames to be distinguished and IEs from them reported separately. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Remove unnecessary node table update on disconnect eventJouni Malinen2011-09-221-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since ath6kl does not actually update cfg80211 BSS table when this event occurs, there is not much need for removing the entries from the internal table that is not really used or exposed. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Remove RSSI update for internal node tableJouni Malinen2011-09-221-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | ath6kl does not actually update cfg80211 BSS table when this update occurs, so there is not much need in updating the internal table that is not used or exposed. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Remove deprecated WMI_OPT_RX_FRAME_EVENTID processingJouni Malinen2011-09-221-39/+1
| | | | | | | | | | | | | | | | | | | | | | | | This event has been deprecated and there is no need for ath6kl to include code for processing it. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Fix BSS update on roamingJouni Malinen2011-09-221-85/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the BSS "update" just before the connected or roamed event. The previous implementation was completely broken: it forced a hardcoded signal strength and IEs from Association _Request_ frame instead of any Beacon information. This broke various things, including PMKSA caching. The current workaround for creating a dummy BSS entry before the roamed event is not exactly ideal, but that is quite a bit better than the previous state. As a future improvement, cfg80211 could potentially be extended to allow this type of use or ath6kl could delay sending the roamed event before receiving a BSS info event. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: deinitialise wiphy on errorVivek Natarajan2011-09-191-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following panic observed on card removal. BUG: unable to handle kernel paging request at f86e22ac EIP is at wiphy_update_regulatory+0x252/0x590 [cfg80211] Call Trace: [<f92fb9e5>] set_regdom+0x165/0x600 [cfg80211] [<c02057ba>] ? __kmalloc+0x10a/0x190 [<c0366557>] ? nla_parse+0xb7/0xd0 [<f9300b92>] ? T.1400+0x12/0x20 [cfg80211] [<f9300c84>] nl80211_set_reg+0xe4/0x270 [cfg80211] [<f92fe560>] ? nl80211_pre_doit+0x0/0x160 [cfg80211] [<c050bdeb>] genl_rcv_msg+0x23b/0x280 [<c050bbb0>] ? genl_rcv_msg+0x0/0x280 [<c050ab76>] netlink_rcv_skb+0x86/0xb0 [<c050bb80>] ? genl_rcv+0x0/0x30 [<c050bb9c>] genl_rcv+0x1c/0x30 Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Fix static WEP configuration in AP modeJouni Malinen2011-09-192-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configuration of the WEP keys needs to be delayed until the AP mode has been properly started at the target. Partial support for delaying the WEP key configuration was already in place in the driver, but the actual part of deciding when to do this was missing. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Set the sme_state to disconnected in disconnect() callbackVasanthakumar Thiagarajan2011-09-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | After a successful completion of disconnect() driver needs to set it's sme_state to SME_DISCONNECTED to be in sync with cfg80211 state. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Remove auth type fall back in auto authentication modeVasanthakumar Thiagarajan2011-09-164-70/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Target already tries with different authentication mechanism when authentication type is configured to NL80211_AUTHTYPE_AUTOMATIC. Remove this piece of code from driver. Having this code in driver even affects auto + WEP authentication in some cases. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: add firmware capabilities supportKalle Valo2011-09-162-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new firmware format includes capability bits which make it possible to check what features the firmware supports. Add infrastructure to read the capabilities. For now it only provides ATH6KL_FW_CAPABILITY_HOST_P2P which is not even used anywhere yet, but that will be added later. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: read reserved ram size from firmware fileKalle Valo2011-09-162-0/+6
| | | | | | | | | | | | | | | | | | | | | A new version of firmware needs different reserved ram size so read that from the firmware image. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: read firmware start address from hardwareKalle Valo2011-09-162-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's actually possible to read the firmware start address from hardware, that way there's no need to hardcode the address in hardware. Thanks to Chilam Ng for the idea. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: refactor firmware ext data addr and reserved ram handling sizeKalle Valo2011-09-162-26/+22
| | | | | | | | | | | | | | | | | | Less if clauses this way and again easier to override the values. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: refactor firmware load address codeKalle Valo2011-09-162-40/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the load address was calculated everytime when it was needed, and with a mess if clauses. Simplify this by adding a field to struct ath6kl for each address and choose the address with simple switch statements. Also move the code just after target version is retrieved. That way it's easier to override the values later in the boot process. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: add support for firmware API 2 formatKalle Valo2011-09-162-5/+151
| | | | | | | | | | | | | | | | | | In the new format all the format images are embedded into one file. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: fix busy loop in ath6kl_bmi_get_rx_lkahd()Kalle Valo2011-09-161-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brent reported that ath6kl busy loops if firmware doesn't boot for some reason (in this case he was using an older firmware which wasn't supported by ath6kl). Investigation revealed that this was even on purpose, ath6kl_bmi_get_rx_lkahd() had a parameter to disable the timeout check, which is extremely evil. I didn't find any reason why the timeout needs to be disabled so I just removed the feature. The function already busyloops a maximum of one second if it doesn't get an answer, even that's too long. If something takes longer than that a more friendly approach is needed. Reported-by: Brent Taylor <btaylor1@motorolasolutions.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: separate firmware fetch from uploadKalle Valo2011-09-161-96/+153
| | | | | | | | | | | | | | | | | | In preparation for the new firmware image format. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: query device tree for firmware board-idSam Leffler2011-09-161-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When no default board data file is present query the device tree for a board-id setting to identify the board data to use. If the FDT lacks the necesary info fall back to the previous behaviour of using a compile-time board filename. Signed-off-by: Sam Leffler <sleffler@chromium.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Allow enabling of P2P supportJouni Malinen2011-09-064-7/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | For now, use a module parameter (ath6kl_p2p) to allow P2P support to be enabled. This is needed since there is no mechanism for enabling the P2P mode more dynamically for a single netdev. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: unify rx function naming in htc.cKalle Valo2011-09-061-60/+66
| | | | | | | | | | | | | | | | | | | | | Similarly like with the tx path, unify naming in htc rx path. No functional changes. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: unify tx function names in htc.cKalle Valo2011-09-061-43/+44
| | | | | | | | | | | | | | | | | | | | | This is to make it easier follow tx code path inside htc.No functional changes. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Process regulatory requests from firmware.Vivek Natarajan2011-09-062-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Process the regulatory code from eeprom and pass the country information to cfg80211. kvalo: add space between struct name and * Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Allow AP mode to be configuredJouni Malinen2011-09-061-1/+4
| | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Fix AP mode connect event parsing and TIM updatesJouni Malinen2011-09-064-62/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up the connect event parsing by defining a union in struct wmi_connect_event to match with the three possible sets of fields that the target uses depending on which type of connect event is being indicated. In addition, two AP cases are now separated from ath6kl_connect_event() so that correct field names can be used to make it actually possible to understand what the code is doing. The bug hiding in the previous mess was in parsing the AID incorrectly when processing the new station connecting event in AP mode. The fix here for that is also fixing TIM updates for PS buffering to use the correct AID. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath6kl: Fix WMI message structure for AP_SET_PVBJouni Malinen2011-09-062-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | There is a 2-octet reserved field between the flag and aid fields. Fix that to make the target actually behave as requested. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | athk6l: Fix channel list processing in scan requestsJouni Malinen2011-09-051-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit the length of the channel list to WMI_MAX_CHANNELS to avoid rejection of the request in wmi.c. Since there is not really much point in using a specific list of more than 32 channels, drop the channel list if more channels are specified and scan all channels. Fix cfg80211 scan API use: ar->scan_req must be set only if returning success from scan() handler. The previous version would result in use of freed memory and likely kernel panic should the scan request fail to be sent to the target. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
OpenPOWER on IntegriCloud