summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bcma: implement BCM4331 workaround for external PA linesRafał Miłecki2011-08-223-1/+43
| | | | | | | | | | We need to disable ext. PA lines for reading SPROM. It's disabled by default, but this patch allows using bcma after loading wl, which leaves workaround enabled. Cc: Arend van Spriel <arend@broadcom.com> Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: support new RX header, noticed to be used in 598.314+ fwRafał Miłecki2011-08-225-13/+58
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: support new TX header, noticed to be used by 598.314+ fwRafał Miłecki2011-08-224-2/+46
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: use enum for firmware header formatRafał Miłecki2011-08-224-26/+55
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: rename TX header formatsRafał Miłecki2011-08-222-16/+16
| | | | | | | | Replace "old" and "new" with number of the first firmware known to use the given format. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: Tear down BA session on BAR tx failureHelmut Schaa2011-08-221-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described at [1] some STAs (i.e. Intel 5100 Windows) can end up correctly BlockAcking incoming frames without delivering them to user space if a AMPDU subframe got lost and we don't flush the receipients reorder buffer with a BlockAckReq. This in turn results in stuck connections. According to 802.11n-2009 it is not necessary to send a BAR to flush the recepients RX reorder buffer but we still do that to be polite. However, assume the following frame exchange: AP -> STA, AMPDU (failed) AP -> STA, BAR (failed) The client in question then ends up in the same situation and won't deliver frames to userspace anymore since we weren't able to flush its reorder buffer. This is not a hypothetical situation but I was able to observe this exact behavior during a stress test between a rt2800pci AP and a Intel 5100 Windows client. In order to work around this issue just tear down the BA session as soon as a BAR failed to be TX'ed. [1] http://comments.gmane.org/gmane.linux.kernel.wireless.general/66867 Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wireless: Introduce defines for BAR TID_INFO & MULTI_TID fieldsHelmut Schaa2011-08-222-4/+6
| | | | | | | While at it also fix the indention of the other IEEE80211_BAR_CTRL_ defines. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: reload phy and bss settings after core restartsFelix Fietkau2011-08-221-5/+37
| | | | | | | | | | | b43_op_config and b43_op_bss_info_changed apply many settings by directly writing to hardware registers. These settings are lost as soon as the core is restarted and the initvals are reloaded. This was discovered because restarting hostapd led to the beacon interval getting set to ~33s (see https://dev.openwrt.org/ticket/8033 for more information). Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: do btcoex ASPM disabling at initialization timeStanislaw Gruszka2011-08-224-29/+29
| | | | | | | | | | | | Disable ASPM in pci ->probe on upstream (device) and downstream (PCIe port) component. According to e1000e driver authors this is required. I did not find that requirement in PCIe spec, but it seems to be logical for me. This need to be fixed for CONFIG_PCIEASPM, that will be done later ... Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: merge common ->config_pci_powersave() checksStanislaw Gruszka2011-08-223-6/+3
| | | | | | | | Move common checks into wrapper function. Since ASPM can be only enabled on PCIe devices ->is_pciexpress check is unneeded. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove ->config_pci_powersave() redundant argumentStanislaw Gruszka2011-08-226-15/+12
| | | | | | | | | We always call ->config_pci_powersave() with both restore and power_off arguments equal to 0 or both equal to 1, so merge them into one argument. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* staging: remove ath6klKalle Valo2011-08-13111-50006/+0
| | | | | | | | | | | ath6kl is now in drivers/net/wireless/ath so the staging driver is not supported anymore and should be removed. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Greg KH <gregkh@suse.de> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mwifiex: use cfg80211 dynamic scan table and cfg80211_get_bss APIAmitkumar Karwar2011-08-128-1634/+471
| | | | | | | | | | | | | | Instead of maintaining static scan table in driver, scan list is sent to cfg80211 stack (after parsing each scan command response). In assoc handler (for infra and ibss network) requested BSS information is retrieved using cfg80211_get_bss() API. With the changes above some redundant code are removed. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: avoid sending a-mpdu packets to sleeping stationsFelix Fietkau2011-08-121-2/+4
| | | | | | | | | | If the driver gets a tx status report for an A-MPDU sent to a station that just went to sleep, that leaves a race condition where this tx status can trigger another A-MPDU transmission. To fix this, check if the station is sleeping before queueing the tid. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* nl80211/cfg80211: Add extra IE configuration to AP mode setupJouni Malinen2011-08-123-2/+56
| | | | | | | | | | The NL80211_CMD_NEW_BEACON command is, in practice, requesting AP mode operations to be started. Add new attributes to provide extra IEs (e.g., WPS IE, P2P IE) for drivers that build Beacon, Probe Response, and (Re)Association Response frames internally (likely in firmware). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* nl80211/cfg80211: Add crypto settings into NEW_BEACONJouni Malinen2011-08-123-40/+72
| | | | | | | | | | This removes need from drivers to parse the beacon tail/head data to figure out what crypto settings are to be used in AP mode in case the Beacon and Probe Response frames are fully constructed in the driver/firmware. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* nl80211/cfg80211: Allow SSID to be specified in new beacon commandJouni Malinen2011-08-123-0/+60
| | | | | | | | This makes it easier for drivers that generate Beacon and Probe Response frames internally (in firmware most likely) in AP mode. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211/mac80211: move information element parsing logic to cfg80211Yogesh Ashok Powar2011-08-124-230/+231
| | | | | | | | | | | Moving the parsing logic for retrieving the information elements stored in management frames, e.g. beacons or probe responses, and making it available to other cfg80211 drivers. Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove eeprom txgain override for minor version < 19Marek Lindner2011-08-121-4/+1
| | | | | | | | | | | | | | | | | | ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the minor version is not 19 or above with a value of 0. ar9002_hw_init_mode_gain_regs() relies on this information to determine whether this is a high power wifi card or not. The override caused the driver to always use the 'normal' power tables even for high power devices if their minor version was not high enough. Thus leading to reduced power output. This isn't needed for the AR9285; the check originated with the AR9280 setup code which requires the EEPROM version check. Signed-off-by: Marek Lindner <lindner_marek@yahoo.de> Acked-by: Felix Fietkau <nbd@openwrt.org> Acked-by: Adrian Chadd <adrian@freebsd.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* nl80211/cfg80211: Make addition of new sinfo fields saferJouni Malinen2011-08-113-0/+7
| | | | | | | | | | Add a comment pointing out the use of enum station_info_flags for all new struct station_info fields. In addition, memset the sinfo buffer to zero before use on all paths in the current tree to avoid leaving uninitialized pointers in the data. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211: fix a crash in nl80211_send_stationFelix Fietkau2011-08-112-2/+4
| | | | | | | | | | mac80211 leaves sinfo->assoc_req_ies uninitialized, causing a random pointer memory access in nl80211_send_station. Instead of checking if the pointer is null, use sinfo->filled, like the rest of the fields. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove obselete commentsMohammed Shafi Shajakhan2011-08-101-5/+0
| | | | | | | | the comments are obselete as the virtual wiphy support was removed from the driver Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: optimize rate control statisticsMohammed Shafi Shajakhan2011-08-101-2/+2
| | | | | | | | | | for the ease of debugging, we display only the rate control statistics for currently operating mode and bandwidth Cc: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Cc: "Balasubramanian, senthilkumar" <senthilb@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: fix erroneous clearing of MESH_PATH_SN_VALID flagJavier Cardona2011-08-101-1/+0
| | | | | | | | | | | | | | | When a PREQ or PREP is received from an intermediate node, it contains useful information for path selection but it doesn't include the originator's sequence number. Therefore, when updating the mesh path to that intermediate node, we should not set the MESH_PATH_SN_VALID flag. BUT, if the flag is set, it should not be unset as we might have received a valid sequence number for that intermediate node in the past. This issue was reported, fixed and tested by Ya Bo (游波) and Pedro Larbig (ASPj). Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_htc: minor clean-upMohammed Shafi Shajakhan2011-08-101-3/+0
| | | | | Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: clear sta.drv_priv on reconfigurationEliad Peller2011-08-101-0/+1
| | | | | | | | | drivers might assume sta.drv_priv is clear while the sta is added, so clear it on reconfinguration. Signed-off-by: Eliad Peller <eliad@wizery.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* cfg80211/nl80211: Send AssocReq IEs to user space in AP modeJouni Malinen2011-08-102-0/+12
| | | | | | | | | | | When user space SME/MLME (e.g., hostapd) is not used in AP mode, the IEs from the (Re)Association Request frame that was processed in firmware need to be made available for user space (e.g., RSN IE for hostapd). Allow this to be done with cfg80211_new_sta(). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* nl80211: Indicate driver-based offchannel TX on mgmt_tx_cancel_waitJouni Malinen2011-08-101-2/+1
| | | | | | | | | | | Drivers that support frame transmission with mgmt_tx() may not support driver-based offchannel TX. Use mgmt_tx_cancel_wait instead of mgmt_tx when figuring out whether to indicate support for this with NL80211_ATTR_OFFCHANNEL_TX_OK. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211_hwsim: Fix RX status reporting for HTJouni Malinen2011-08-101-0/+6
| | | | | | | | | | RX_FLAG_HT must be included when reporting MCS rates. Without this, mac80211 ended up dropping any frame sent at MCS index 12 or higher and that resulted in oddly random looking errors in mac80211_hwsim tests. Signed-off-by: Jouni Malinen <j@w1.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'for-linville' of ↵John W. Linville2011-08-106-70/+74
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath6kl
| * ath6kl: fix function name conflicts with ath9kKalle Valo2011-08-106-70/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stephen reported that compilation fails if both ath6kl and ath9k are compiled in: drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_start': (.opd+0x600): multiple definition of `htc_start' drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e40): first defined here drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_stop': (.text+0x7b40): multiple definition of `.htc_stop' drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67b34): first defined he= re drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_start': (.text+0x7d18): multiple definition of `.htc_start' drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67ba0): first defined he= re drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_stop': (.opd+0x5e8): multiple definition of `htc_stop' drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e28): first defined here To fix this add ath6kl prefix to all public functions in htc.c. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | Merge branch 'ath6kl-next' of ↵John W. Linville2011-08-0926-0/+17957
|\ \ | |/ | | | | master.kernel.org:/pub/scm/linux/kernel/git/kvalo/ath6kl
| * ath6kl: Release the memory allocated for the firmwareRaja Mani2011-08-091-0/+5
| | | | | | | | | | | | | | | | Nowhere the firmware memory is freed, free it during the device destroy process. Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Fix crash during the connection processRaja Mani2011-08-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, the network manager is failing to connect to the AP due to the below kernel crash message. The reason behind this, after issuing the connect command to the chip, the chip is sending disconnect event and then immediately one connect event to the host in some random cases. The host driver resets all states (including cfg80211 state machine) when it receives disconnect event from the chip. But, still the host driver reports the next received connect event to cfg80211, at that time cfg80211 SME state would have been in IDLE state, which was causing the below kernel crash. Now, host driver's sme state machine is checked every time before delivering connect event to cfg80211 WARNING: at net/wireless/sme.c:517 cfg80211_connect_result+0x10d/0x120() [..] Call Trace: [<c0145732>] warn_slowpath_common+0x72/0xa0 [<c05d676d>] ? cfg80211_connect_result+0x10d/0x120 [<c05d676d>] ? cfg80211_connect_result+0x10d/0x120 [<c0145782>] warn_slowpath_null+0x22/0x30 [<c05d676d>] cfg80211_connect_result+0x10d/0x120 [<f83ff497>] ath6kl_cfg80211_connect_event+0x427/0x4f0 [ath6kl] [<c035d26a>] ? put_dec+0x2a/0xa0 [<c035d645>] ? number+0x365/0x380 [<c0154675>] ? mod_timer+0x135/0x260 [<c035e00e>] ? format_decode+0x2fe/0x370 [<c01263c8>] ? default_spin_lock_flags+0x8/0x10 [<c05fd91f>] ? _raw_spin_lock_irqsave+0x2f/0x50 [<c0146032>] ? console_unlock+0x172/0x1c0 [<f8402659>] ath6kl_connect_event+0x89/0x400 [ath6kl] [<f840826e>] ath6kl_wmi_control_rx+0x98e/0x1d60 [ath6kl] [<c01335b5>] ? __wake_up+0x45/0x60 [<f84053aa>] ath6kl_rx+0x56a/0x770 [ath6kl] [<c04d0242>] ? mmc_release_host+0x22/0x40 [<c04d9329>] ? sdio_release_host+0x19/0x30 [<f840a27a>] ? ath6kl_sdio_read_write_sync+0x7a/0xc0 [ath6kl] [<f83f82b1>] do_rx_completion+0x41/0x50 [ath6kl] [<f83faa6a>] htc_rxmsg_pending_handler+0x6ba/0xbd0 [ath6kl] [<f8404bb0>] ? ath6kl_tx_data_cleanup+0x30/0x30 [ath6kl] [<f840a1c0>] ? ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl] [<f83f7cd5>] ath6kldev_intr_bh_handler+0x2a5/0x630 [ath6kl] [<f840a1c0>] ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl] [<c04d97c7>] sdio_irq_thread+0xc7/0x2d0 [<c013aeb0>] ? default_wake_function+0x10/0x20 [<c012fc98>] ? __wake_up_common+0x48/0x70 [<c04d9700>] ? sdio_claim_irq+0x200/0x200 [<c0163854>] kthread+0x74/0x80 [<c01637e0>] ? kthread_worker_fn+0x160/0x160 [<c0604c06>] kernel_thread_helper+0x6/0x10 Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Cleanup void * in ath6kl_cfg80211_scan_node()Vasanthakumar Thiagarajan2011-08-093-3/+2
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Use ath6kl_cfg80211_scan_node() directly instead of function pointerVasanthakumar Thiagarajan2011-08-093-9/+6
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Remove ath6kl_wmi_iterate_nodes()Vasanthakumar Thiagarajan2011-08-093-12/+2
| | | | | | | | | | | | | | Use wlan_iterate_nodes() directly. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Pass only the needed scan_table to ath6kl_wmi_iterate_nodes()Vasanthakumar Thiagarajan2011-08-093-4/+4
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Move initialization/deinitialization of scan_table to appropriate ↵Vasanthakumar Thiagarajan2011-08-092-4/+7
| | | | | | | | | | | | | | | | | | | | functions By having scan_table in struct ath6kl, it makes sense to move initialization to ath6kl_init() and deinitialization to ath6kl_destroy(). Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Cleanup parameters of wlan_node_table_init()Vasanthakumar Thiagarajan2011-08-093-3/+3
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Remove ath6kl_wmi_get_current_bssid()Vasanthakumar Thiagarajan2011-08-093-11/+1
| | | | | | | | | | | | | | Use the bssid from ath6kl directly. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Remove bssid from struct wmiVasanthakumar Thiagarajan2011-08-092-6/+2
| | | | | | | | | | | | | | This is nothing but bssid of struct ath6kl. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Cleanup parameters for wlan_refresh_inactive_nodes()Vasanthakumar Thiagarajan2011-08-093-6/+5
| | | | | | | | | | | | | | And remove the reference to wmi in ath6kl_node_table. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Move scan table from wmi to ath6klVasanthakumar Thiagarajan2011-08-093-16/+17
| | | | | | | | | | | | | | It does not need to be in wmi Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Cleanup void *parent_dev in struct wmiVasanthakumar Thiagarajan2011-08-093-4/+4
| | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: change aggreation timeout message from an error to a debug messageKalle Valo2011-08-092-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I connect to my Linksys WT610N AP supporting 11n I see a lot of aggreation timeout errors: [ 408.885053] ath6kl: aggr timeout (st 3109 end 3140) [ 463.872108] ath6kl: aggr timeout (st 3671 end 3702) [ 495.010060] ath6kl: aggr timeout (st 3983 end 4014) [ 503.604047] ath6kl: aggr timeout (st 4065 end 0) [ 518.963047] ath6kl: aggr timeout (st 141 end 172) [ 525.014066] ath6kl: aggr timeout (st 205 end 236) [ 573.957051] ath6kl: aggr timeout (st 701 end 732) [ 585.019067] ath6kl: aggr timeout (st 816 end 847) But still the connection seems to work. To not clutter the logs change the error message to a debug message. But add a fixme comment so that this will be investigated. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: remove dependency to wireless extensionsKalle Valo2011-08-091-2/+0
| | | | | | | | | | | | | | | | | | | | ath6kl Kconfig still had dependencies to wext, remove those as they are not needed anymore. Now ath6kl should not have any wext code left. Time to have a beer and celebrate this. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: fix crash when interface is closed but scan is ongoingKalle Valo2011-08-091-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When ath6kl module was removed while a scan was ongoing the driver would crash in ath6kl_cfg80211_scan_complete_event(). Fix the function not to iterate nodes when the scan is aborted. The nodes are already freed when the module is being unloaded. This patch removes the null check entirely as the wmi structure is not accessed anymore during module unload. Also fix a bug where the status was checked as a bitfield with '&' operator. But it's not a bitfield, just a regular error code. This is a port of my patch from ath6kl staging with the same title. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: fix atomicity in ath6kl_cfg80211_scan_node()Kalle Valo2011-08-091-1/+2
| | | | | | | | | | | | | | | | ath6kl_cfg80211_scan_node() was calling cfg80211_inform_bss_frame() with CFP_KERNEL but the function is executed with a spin lock taken. This is wrong and the function must use GFP_ATOMIC instead. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: don't force foreground scan when connectedKalle Valo2011-08-091-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In my setup data transfer stalls when there's data transmission during scan. After some testing I found out that using background scan when connected to makes the problem go away. This is more like a workaround than a proper fix, but as the stall is so severe the workaround is justified. With a dual band card this increases scan time when connected from 1.9s to 4.4s. When not connected the scan time is not affected and is the same 1.9s. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
OpenPOWER on IntegriCloud