aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless
AgeCommit message (Collapse)AuthorFilesLines
2014-05-13net: get rid of SET_ETHTOOL_OPSWilfried Klaebe1-1/+1
net: get rid of SET_ETHTOOL_OPS Dave Miller mentioned he'd like to see SET_ETHTOOL_OPS gone. This does that. Mostly done via coccinelle script: @@ struct ethtool_ops *ops; struct net_device *dev; @@ - SET_ETHTOOL_OPS(dev, ops); + dev->ethtool_ops = ops; Compile tested only, but I'd seriously wonder if this broke anything. Suggested-by: Dave Miller <[email protected]> Signed-off-by: Wilfried Klaebe <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-05-13rsi: Changed the return value to enable BA set-upJahnavi Meher1-0/+1
Signed-off-by: Jahnavi Meher <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: determine chanspec from struct cfg80211_chan_def infoArend van Spriel1-3/+57
The struct cfg80211_chan_def contains additional info to derive the bandwidth and side-band information of the chanspec. This patch adds chandef_to_chanspec() function used in IBSS join and starting AP operation. Reviewed-by: Franky Lin <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: handle 80MHz chanspecs in construct_reg_info() functionArend van Spriel1-5/+16
The device is queried about the usability of channels, but it did not take 80MHz channels into consideration. This patch adds processing those chanspecs and clear the NO_80MHZ flag for those control/primary channels. Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Reviewed-by: Franky Lin <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: get rid of brcmf_cfg80211_set_channel() functionArend van Spriel1-21/+7
The function does not provide any additional functionality and is used only once so just get rid of it. Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Reviewed-by: Franky Lin <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: enable 80Mhz in 5G custom regulatory rulesArend van Spriel1-2/+2
By default allow 80Mhz in custom regulatory rules of the 5G band so the channels will not be flagged with N0_80MHZ. Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Reviewed-by: Franky Lin <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: provide VHT capability information to user-spaceArend van Spriel1-14/+59
Although brcmfmac support several 11ac devices it did not advertise VHT related information to cfg80211. Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Reviewed-by: Franky Lin <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcm80211: extend channel conversion functions for 80MHz supportArend van Spriel3-24/+84
The channel values used by firmware is handled using conversion functions depending on the type of chip. These functions were already in place but lacked proper support for 80MHz channel definitions. This patch adds the support for that. Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Reviewed-by: Franky Lin <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: remove usage of cfg80211_get_chandef_type()Arend van Spriel1-4/+3
In the .start_ap callback cfg80211_get_chandef_type() was used to provide debug log info. However, this causes a warning when the chandef contains VHT channel with 80MHz bandwidth. Avoid the warning by just printing the channel and bandwidth instead. Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: Fix reconnect failure after beacon timeoutDaniel Kim1-11/+0
The DISASSOC command needs to be sent to firmware when a connection loss is detected by firmware (e.g., beacon timeout). Otherwise the next connect request fails due to a lingering LINK(down) event from firmware. This patch resolves the issue by using brcmf_link_down() handler, instead of the incomplete duplicated codes. Reviewed-by: Arend Van Spriel <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Signed-off-by: Daniel Kim <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: enhance nvram processingArend van Spriel1-44/+176
The driver serializes the nvram firmware file before sending it to the device. This patch enhances this to assure serialized data is properly formatted and provide warnings on syntax failures. Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Reviewed-by: Franky Lin <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: Make FWS queueing configurable.Hante Meuleman3-0/+17
FWS is always queuing frames and using a worker for de-queueing, this is not always efficient for all bus layer. For example SDIO has an internal queue and worker making the queueing of FWS unnecessary. Make it possible to bypass the worker if fws mode is none using a bus interface configuration. For USB bus layer this configuration is set true to have fws provide queueing regardless the fws mode. Reviewed-by: Arend Van Spriel <[email protected]> Reviewed-by: Franky (Zhenhui) Lin <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Signed-off-by: Hante Meuleman <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: Move handling 802.1x frames to dhd_linux.Hante Meuleman2-11/+9
Tracking and handling of 802.1x frames is done in two modules, it is more logical and clear to move this to dhd_linux module. Reviewed-by: Arend Van Spriel <[email protected]> Reviewed-by: Franky (Zhenhui) Lin <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Signed-off-by: Hante Meuleman <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: Move out hdrpull from tx_finalize.Hante Meuleman3-42/+37
In tx_finalize the hdrpull is performed. For the new protocol msgbuf this is complex, because it does not use protocol headers in front of payload anymore and therefor can not determine interface index in the hdr pulll operation. Move out the hdrpull operation from tx_finalize to make msgbuf implementation easier. Reviewed-by: Arend Van Spriel <[email protected]> Reviewed-by: Franky (Zhenhui) Lin <[email protected]> Reviewed-by: Pieter-Paul Giesberts <[email protected]> Reviewed-by: Daniel (Deognyoun) Kim <[email protected]> Signed-off-by: Hante Meuleman <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: Report the support of firmware roamingDaniel Kim1-0/+2
Currently firmware roaming support is not reported to cfg80211. This patch reports the support of firmware based roaming when it is enabled. Reviewed-by: Pieter-Paul Giesberts <[email protected]> Reviewed-by: Hante Meuleman <[email protected]> Reviewed-by: Arend Van Spriel <[email protected]> Signed-off-by: Daniel Kim <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13brcmfmac: Give priority to 5GHz band in selecting target BSSDaniel Kim2-0/+42
When a BSS provides both 2.4GHz and 5GHz bands, in many cases it makes sense to choose 5GHz. Typically a 5GHz channel is less crowded and has less interference and therefore its performance will be better than a crowded 2.4 GHz channel. This patch configures 'join_pref' to induce firmware to preferably select 5GHz BSS. Reviewed-by: Arend Van Spriel <[email protected]> Signed-off-by: Daniel Kim <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k_htc: use ath9k_cmn_debug_phy_errOleksij Rempel1-38/+6
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k: move phy_err to ath9k_cmn_debug_phy_errOleksij Rempel3-63/+72
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k_htc: use ath9k_cmn_debug_recvOleksij Rempel1-1/+4
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k: move recv to ath9k_cmn_debug_recvOleksij Rempel3-57/+68
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k & ath9k_htc: move ath_rx_stats to cmnOleksij Rempel7-148/+111
and use it. This move need changes in both drivers. Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k: reorder or remove some includesOleksij Rempel2-2/+1
to fix compile errors Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k_htc: use ath9k_cmn_debug_base_eepromOleksij Rempel1-137/+1
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k: move base_eeprom debug code to ath9k_cmn_debug_base_eepromOleksij Rempel3-30/+38
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k_htc: use ath9k_cmn_debug_modal_eepromOleksij Rempel1-284/+2
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k-common: create common-debug and move modal_eeprom to cmnOleksij Rempel5-31/+77
Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13b43: drop SSB dependencyRafał Miłecki1-8/+28
This adds choice submenu "Supported bus types" as two simple bool configs would allow user to compile b43 without any bus support (prety useless). Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13b43: adjust code to compile without SSBRafał Miłecki3-2/+29
Users of new (BCMA based) wireless chipsets may not want to enable SSB. This is hopefully the last code patch for dropping SSB dependency. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13orinoco_usb: Fix broken firmware load error checkingOndrej Zary1-1/+1
The check of ezusb_firmware_download() return value (added by commit 488ec878034eccb852267b0e27ce9d511f75c587) is broken because ezusb_firmware_download() returns 1 on success. This causes the driver not to work with the following error: orinoco_usb: probe of 3-3:1.0 failed with error -14 Check the return value only for negative values. This fix should be applied to -stable kernels too. Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13ath9k: non-functional: calculate DFS pulse interval per-wiphyZefir Kurtisi2-3/+4
Systems with multiple DFS channel detectors need to track timestamp of previous pulse per instance to display the correct pulse interval. Since the interval value is used for debug printing only, this is a non-functional modification. Signed-off-by: Zefir Kurtisi <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13amend "ath9k: Allow platform override without EEPROM override"Helmut Schaa1-1/+1
Originally Helmut posted a v2 of the "ath9k: Allow platform override without EEPROM override", but I had prematurely commited the original as commit 552a515707a. This commit restores the tree to what Helmut intended with his v2 submission. -- JWL Signed-off-by: Helmut Schaa <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13rtlwifi: rtl8723be: add msi module parameterAdam Lee1-1/+4
The msi module parameter offers an option to enable or disable MSI interrupts mode, for debugging and workaround(in case) convenience. Signed-off-by: Adam Lee <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13rtlwifi: rtl8188ee: add msi module parameterAdam Lee1-0/+4
The msi module parameter offers an option to enable or disable MSI interrupts mode. For now, some users report RTL8188EE works only with MSI on their certain platforms, some others report it works only without MSI, this parameter will help. Signed-off-by: Adam Lee <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13rtlwifi: make MSI support a module parameterAdam Lee1-0/+4
This makes MSI support a module parameter, for debugging and workaround convenience. Signed-off-by: Adam Lee <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13wl1251: only call ieee80211_beacon_loss in managed modeGrazvydas Ignotas1-2/+3
ieee80211_beacon_loss() is only to be called in managed mode, but the firmware may send the sync timeout event at any time, so do a check before calling. Signed-off-by: Grazvydas Ignotas <[email protected]> Tested-by: Pali Rohár <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13wl1251: fix mixed up args for joinGrazvydas Ignotas1-2/+2
The join arguments are mixed up, passing beacon_interval instead of channel and channel instead of beacon_interval. Fix them. Signed-off-by: Grazvydas Ignotas <[email protected]> Tested-by: Pali Rohár <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13wl1251: fix null data for IBSSGrazvydas Ignotas1-14/+37
Fix the WARN below by not calling ieee80211_nullfunc_get() in IBSS mode, but setting up empty template the same way wl12xx driver does. WARNING: CPU: 0 PID: 914 at net/mac80211/tx.c:2750 ieee80211_nullfunc_get+0xc0/0xd0 [mac80211]() Modules linked in: wl1251_sdio wl1251 mac80211 cfg80211 ... [<c00439c0>] (warn_slowpath_null) [<bf0bdfdc>] (ieee80211_nullfunc_get [mac80211]) [<bf134774>] (wl1251_op_bss_info_changed [wl1251]) [<bf099e14>] (ieee80211_bss_info_change_notify [mac80211]) ... Also perform join command regardless of bss_type as that seems to be required for proper operation. Signed-off-by: Grazvydas Ignotas <[email protected]> Tested-by: Pali Rohár <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13Revert "wl1251: enforce changed hw encryption support on monitor state change"Grazvydas Ignotas1-13/+0
This reverts commit b90a1165a72fabdc260abaa9eeadcbfd29e267eb. That commit (or rather, hack) triggers a scary WARN in IBSS (ad-hoc) mode. Steps to reproduce: ifconfig wlan0 down iwconfig wlan0 mode ad-hoc ifconfig wlan0 up ------------[ cut here ]------------ WARNING: CPU: 0 PID: 905 at kernel/workqueue.c:1400 __queue_work+0x21c/0x2f4() Modules linked in: wl1251_sdio wl1251 mac80211 cfg80211 CPU: 0 PID: 905 Comm: ifconfig Not tainted 3.15.0-rc2#233 [<c0015f38>] (unwind_backtrace) from [<c0012938>] [<c0012938>] (show_stack) from [<c05d4034>] [<c05d4034>] (dump_stack) from [<c0043984>] [<c0043984>] (warn_slowpath_common) from [<c00439c0>] [<c00439c0>] (warn_slowpath_null) from [<c005b6c8>] [<c005b6c8>] (__queue_work) from [<c005b820>] [<c005b820>] (queue_work_on) from [<bf134ac0>] [<bf134ac0>] (wl1251_op_config [wl1251]) [<bf099a70>] (ieee80211_hw_config [mac80211]) ... This happens because ieee80211_connection_loss() is not expected to be called in IBSS mode (mac80211 ends up queuing uninitialized work in that case). Signed-off-by: Grazvydas Ignotas <[email protected]> Tested-by: Pali Rohár <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-13Merge branch 'master' of ↵John W. Linville19-51/+78
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2014-05-13Merge branch 'for-john' of ↵John W. Linville4-13/+13
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
2014-05-13iwlwifi: mvm: enable RX chain diversity if neededJohannes Berg1-0/+13
In some situations (see comment) it makes sense to enable both chains (if available) to get better throughput by having chain diversity available. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: mvm: prevent sched scan while not idleDavid Spinadel3-10/+10
Prevent sched scan while not idle (including during association or in AP mode) instead of while associated only. This fixes my previous commit which was incomplete: commit bd5e4744a6ca64299b57a2682c720d00a475a734 Author: David Spinadel <[email protected]> Date: Thu Apr 24 13:15:29 2014 +0300 iwlwifi: mvm: do no sched scan while associated Currently the FW doesn't support sched scan while associated, Prevent it. Signed-off-by: David Spinadel <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: mvm: fix off-by-one in scan channels configurationEliad Peller1-1/+1
tail should be equal to the last valid index, so decrease it by one. This error causes in "a gap" in some cases (as well as some possible out-of-bound write), finally resulting in ucode assertion. Signed-off-by: Eliad Peller <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: mvm: revisit the NVM handling codeEran Harary2-33/+33
Fix a bug in nvm_read_section function if size of the section is a multiple of 2K: - if the size of the section is *not* multiple of 2K, then we will have: read(2K) - return 2K ... read(2K) - return 2K read(2K) - return the rest (in bytes) and exit the while loop. - else, if the size of the section is a multiple of 2K, then we have: read(2K) - return 2K read(2K) - return 2K read(2K) - return 2K read(2K) - return 0 and exit the while with an error. We should not return an error in the latter case, because it might well be that the section was completely read. Also, we try now to read all the sections as this is needed for new devices. Signed-off-by: Eran Harary <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: mvm: BT Coex - fix boost register / LUT valuesEmmanuel Grumbach1-6/+6
These values are used to give preference to WiFi according to a certain pattern. Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: mvm: set SKIP_OVER_DTIM flag only if neededEliad Peller1-2/+3
setting SKIP_OVER_DTIM when skip_dtim_periods is 0 causes a ucode assert. set the flag only if needed. Signed-off-by: Eliad Peller <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: pcie: disable BHs in iwl_pcie_txq_check_wrptrsEmmanuel Grumbach1-2/+2
This fixes: ================================= [ INFO: inconsistent lock state ] 3.14.3+ #5 Tainted: G O --------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. swapper/3/0 [HC0[0]:SC1[3]:HE1:SE0] takes: (&(&txq->lock)->rlock){+.?...}, at: [<ffffffffa059803c>] iwl_pcie_enqueue_hcmd+0x12c/0x1000 [iwlwifi] {SOFTIRQ-ON-W} state was registered at: [<ffffffff810d9071>] __lock_acquire+0x5f1/0x13b0 [<ffffffff810d9ee0>] lock_acquire+0xb0/0x1f0 [<ffffffff817ef80e>] _raw_spin_lock+0x3e/0x80 [<ffffffffa0598f7a>] iwl_pcie_txq_check_wrptrs+0x6a/0xb0 [iwlwifi] [<ffffffffa0594b5a>] iwl_pcie_irq_handler+0xdba/0x2670 [iwlwifi] [<ffffffff810ef1e0>] irq_thread_fn+0x20/0x50 [<ffffffff810ef77f>] irq_thread+0x11f/0x150 [<ffffffff810a04f0>] kthread+0xf0/0x110 [<ffffffff817fa4bc>] ret_from_fork+0x7c/0xb0 irq event stamp: 1142192 hardirqs last enabled at (1142192): [<ffffffff817efb6c>] _raw_spin_unlock_irq+0x2c/0x40 hardirqs last disabled at (1142191): [<ffffffff817ef9ef>] _raw_spin_lock_irq+0x1f/0x80 softirqs last enabled at (1142188): [<ffffffff81079082>] _local_bh_enable+0x22/0x50 softirqs last disabled at (1142189): [<ffffffff8107ad35>] irq_exit+0xe5/0xf0 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&(&txq->lock)->rlock); <Interrupt> lock(&(&txq->lock)->rlock); Fixes: ea68f46070c7 ("iwlwifi: pcie: clarify TX queue need_update handling") Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: use dev_printk instead of dev_dbg for debug logsLiad Kaufman1-4/+2
When calling IWL_DEBUG_*() dev_dbg() is currently used, and this could result in the log being ignored no matter the internal loglevel, since dev_dbg() may get turned on or off based on the dynamic debug mechanism. Replace the dev_dbg() with dev_printk() since dynamic printing is pointless as we use our own debug level mechanism and there is just a single dev_dbg() call in the code. Signed-off-by: Liad Kaufman <[email protected]> [rephrase commit message a bit] Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13iwlwifi: remove CMD_SYNCEmmanuel Grumbach32-132/+99
CMD_SYNC is really 0 which is confusing: if (cmd.flags & CMD_SYNC) is always false. Fix this by simply removing its definition. Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-13Merge remote-tracking branch 'iwlwifi-fixes/master' into HEADEmmanuel Grumbach4-6/+35