aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)AuthorFilesLines
2013-10-16ath10k: fix ath10k_bss_assoc() to not sleep in atomic contextKalle Valo1-19/+37
ath10k_bss_assoc() was calling ath10k_peer_assoc(), which can sleep, under atomic rcu_read_lock() and causing scheduing while atomic errors. Workaround that by delaying the call to ath10k_wmi_peer_assoc(). Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: remove unnecessary checksMichal Kazior1-21/+0
mac80211 interface iteration functions that were used originally iterated over interfaces that weren't re-added to the driver during recovery. Since internal vif list is now used it's safe to remove the safe-guard as internal vif list is based on add/remove_interface function which guarantees that vdev is created in FW before it is iterated over. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: fix scheduling while atomic config bugMichal Kazior1-84/+62
Recent HTC/WMI changes introduced the bug. ath10k was using _atomic iteration function with sleepable functions. mac80211 provides another iteration function but it cannot be safely called in hw_config() callback due to local->iflist_mtx being possibly acquired already. The patch uses internal vif list for iteration purposes and removes/refactors no longer necessary _iter functions. Reported-By: Kalle Valo <[email protected]> Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: track vif list internallyMichal Kazior3-0/+7
mac80211 interface interations functions have peculiar locking issues. This patch introduces internal (to ath10k) vif list that will be used for vif iteration purposes. kvalo: remove extra INIT_LIST_HEAD() Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: fix add_interface failure handlingMichal Kazior1-13/+40
If something failed along add_interface() setup it was possible to leak a vdev id, vdev and peer. This could end up with leaked FW state or FW crash (assuming add_interface() failure wasn't a result of a crash). kvalo: rebased, whitespace fixes Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: use workqueue to set WEP TX keyMichal Kazior2-18/+39
Recent WMI/HTC changes made it possible for WMI commands to sleep (if there's not enough HTC TX credits to submit a command). TX path is in an atomic context so calling WMI commands in it is wrong. This simply moves WEP key index update to a worker and fixes the 'scheduling while atomic' bug. This still leaves multiple WEP key handling laggy, i.e. some frames may be TXed with an old/different key (although recipient should still be able to RX them). kvalo: changed the title Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: return better errno for unsupported pdev paramsBartosz Markowski1-1/+1
Return -EOPNOTSUPP if given parameter is not supported by firmware. Signed-off-by: Bartosz Markowski <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: rename WMI_CMD_UNDEFINEDBartosz Markowski2-24/+24
Rename WMI_CMD_UNDEFINED to WMI_CMD_UNSUPPORTED. This is more accurate here. Also return -EOPNOTSUPP instead of -EINVAL in wmi_cmd_send(). Signed-off-by: Bartosz Markowski <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-16ath10k: do not warn about unsupported vdev paramBartosz Markowski2-2/+3
10.X firmware does not support WMI_VDEV_PARAM_TX_ENCAP_TYPE. It's a known limitation and we should not warn about this. Signed-off-by: Bartosz Markowski <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-10-15Merge branch 'master' of ↵John W. Linville4-4/+14
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
2013-10-14Merge tag 'rdma-for-linus' of ↵Linus Torvalds4-32/+37
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband updates from Roland Dreier: "Last batch of IB changes for 3.12: many mlx5 hardware driver fixes plus one trivial semicolon cleanup" * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB: Remove unnecessary semicolons IB/mlx5: Ensure proper synchronization accessing memory IB/mlx5: Fix alignment of reg umr gather buffers IB/mlx5: Fix eq names to display nicely in /proc/interrupts mlx5: Fix error code translation from firmware to driver IB/mlx5: Fix opt param mask according to firmware spec mlx5: Fix opt param mask for sq err to rts transition IB/mlx5: Disable atomic operations mlx5: Fix layout of struct mlx5_init_seg mlx5: Keep polling to reclaim pages while any returned IB/mlx5: Avoid async events on invalid port number IB/mlx5: Decrease memory consumption of mr caches mlx5: Remove checksum on command interface commands IB/mlx5: Fix memory leak in mlx5_ib_create_srq IB/mlx5: Flush cache workqueue before destroying it IB/mlx5: Fix send work queue size calculation
2013-10-14rt2x00: rt2800lib: remove duplicate rf_vals for RF3053Kevin Lo1-72/+3
lready have rf_vals_3x with same values. Hence rf_vals_3053 is removed in this patch. Signed-off-by: Kevin Lo <[email protected]> Acked-by: Paul Menzel <[email protected]> Acked-by: Stanislaw Gruszka <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14rt2x00: rt2800lib: fix RF registers for RT5390/RT5392Kevin Lo1-3/+2
Update rf registers to use the same values that the MediaTek/Ralink reference driver DPO_RT5572_LinuxSTA_2.6.1.3_20121022 uses. References: RF5390RegTable in chips/rt5390.c RF5392RegTable in chips/rt5390.c Tested on TP-Link TL-WN727N and D-Link DWA-140 Rev.b3 usb wifi dongles. Signed-off-by: Kevin Lo <[email protected]> Acked-by: Stanislaw Gruszka <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14mwifiex: use alloc_workqueue() functionAmitkumar Karwar1-1/+3
It replaces deprecated create_workqueue(). Signed-off-by: Amitkumar Karwar <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k_hw: remove references to hw->confFelix Fietkau5-20/+15
Accessing it to get the current operating channel is racy and in the way of further channel handling related changes Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k: make ath9k_uses_beacons staticFelix Fietkau2-2/+1
Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k: remove sc->config.cabqReadyTimeFelix Fietkau4-12/+1
It is not exposed as a configuration option anyway Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k: move channel change code to ath_set_channelFelix Fietkau1-72/+78
Preparation for adding the scanning state machine to ath9k Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k: make ath9k_cmn_update_ichannel staticFelix Fietkau5-21/+17
Rework its wrapper function to make it more generic, using it as a replacement for previous calls to ath9k_cmn_update_ichannel. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k_hw: simplify channel flagsFelix Fietkau4-130/+50
There was some duplication between channelFlags and chanmode, as well as a lot of redundant checks based on the combinations of flags. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k_hw: remove IS_CHAN_OFDM()Felix Fietkau2-7/+2
The hardware is always configured with OFDM support enabled Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k_hw: remove IS_CHAN_B()Felix Fietkau6-22/+13
Hardware 802.11b-only mode isn't supported by the driver (the device is configured for 802.11n/g instead). Simplify the code by removing checks for it. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k_hw: remove direct accesses to channel mode flagsFelix Fietkau9-169/+49
Use wrappers where available. Simplifies code and helps with further improvements to the channel data structure Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14ath9k: use a separate data structure for rx buffersFelix Fietkau3-50/+92
There's no shared code for handling both rx and tx buffers, and tx buffers require a lot more metadata than rx buffers. Using a separate data structure for rx reduces memory usage and improves cache footprint. Signed-off-by: Felix Fietkau <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14wcn36xx: fix coccinelle warningsFengguang Wu1-9/+2
drivers/net/wireless/ath/wcn36xx/debug.c:27:11-31: WARNING opportunity for simple_open, see also structure on line 106 /c/kernel-tests/src/i386/drivers/net/wireless/ath/wcn36xx/debug.c:27:11-31: WARNING opportunity for simple_open, see also structure on line 148 This removes an open coded simple_open() function and replaces file operations references to the function with simple_open() instead. Generated by: coccinelle/api/simple_open.cocci CC: Eugene Krasnikov <[email protected]> CC: John W. Linville <[email protected]> Signed-off-by: Fengguang Wu <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14rt2x00: rt73usb: use rt2x00_has_cap_* helpersGabor Juhos1-9/+9
Use the appropriate helper functions instead of directly accessing the rt2x00dev->cap_flags field to check device capability flags. This improves readability of the code a bit. Compile tested only. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14rt2x00: rt61pci: use rt2x00_has_cap_* helpersGabor Juhos1-10/+10
Use the appropriate helper functions instead of directly accessing the rt2x00dev->cap_flags field to check device capability flags. This improves readability of the code a bit. Compile tested only. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14rt2x00: rt2800lib: use rt2x00_has_cap_* helpersGabor Juhos1-13/+12
Use the appropriate helper functions instead of directly accessing the rt2x00dev->cap_flags field to check device capability flags. This improves readability of the code a bit. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14rt2x00: rt2x00lib: use rt2x00_has_cap_* helpersGabor Juhos6-13/+13
Use the appropriate helper functions instead of directly accessing the rt2x00dev->cap_flags field to check device capability flags. This improves readability of the code a bit. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14rt2x00: add rt2x00_has_cap_* helpersGabor Juhos1-0/+87
The rt2x00 code directly accesses the 'cap_flags' field of 'struct rt2x00_dev' when checking presence of a given capability flag. The direct access needs long expressions which lowers readability of the code. Add a few helper functions which can be used to test device capabilities without directly accessing the cap_flags filed. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14rt2x00: cleanup indentation in rt2800.hGabor Juhos1-21/+21
Adjust whitespaces to move badly aligned constants to the right column. The patch contains no functional changes. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14mwifiex: inform cfg80211 about disconnect for P2P client interfaceAvinash Patil1-1/+2
This patch adds missing cfg80211_disconnected event for P2P client interface upon successful deauthenticate command, deauthenticate event or disassociate event from FW. Signed-off-by: Avinash Patil <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14mwifiex: inform cfg80211 about disconnect if device is removedAvinash Patil1-2/+8
If device is surprise removed, commands sent to FW including deauthenticate command fail as bus writes fail. We update our media_connected status to false and inform cfg80211 about disconnection only when command is successful. Since cfg80211 assumes device is still connected, it results into following WARN_ON during unload: WARNING: CPU: 0 PID: 18245 at net/wireless/core.c:937 cfg80211_netdev_notifier_call+0x175/0x4d0 [cfg80211]() Avoid this by emitting cfg80211_disconnected event even if the deauthenticate command fails. Signed-off-by: Avinash Patil <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-10-14treewide: fix "usefull" typoMichael Opdenacker1-1/+1
Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2013-10-14treewide: Fix common typo in "identify"Maxime Jayat2-2/+2
Correct common misspelling of "identify" as "indentify" throughout the kernel Signed-off-by: Maxime Jayat <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2013-10-14treewide: Fix typo in printkMasanari Iida3-3/+3
Correct spelling typo within various part of the kernel Signed-off-by: Masanari Iida <[email protected]> Acked-by: Randy Dunlap <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2013-10-11net: smc91x: dont't use SMC_outw for fixing up halfword-aligned dataWill Deacon1-4/+2
SMC_outw invokes an endian-aware I/O accessor, which may change the data endianness before writing to the device. This is not suitable for data transfers where the memory buffer is simply a string of bytes that does not require any byte-swapping. This patches fixes the smc91x SMC_PUSH_DATA macro so that it uses the string I/O accessor for outputting the leading or trailing halfwords on halfword-aligned buffers. Cc: <[email protected]> Cc: Nicolas Pitre <[email protected]> Cc: David S. Miller <[email protected]> Signed-off-by: Will Deacon <[email protected]> Acked-by: Nicolas Pitre <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-10-11farsync: fix info leak in ioctlSalva Peiró1-0/+1
The fst_get_iface() code fails to initialize the two padding bytes of struct sync_serial_settings after the ->loopback member. Add an explicit memset(0) before filling the structure to avoid the info leak. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-10-11net: sh_eth: Correct fix for RX packet errors on R8A7740Simon Horman1-4/+4
Nguyen Hong Ky posted a patch to correct RX packet errors on R8A7740 which was applied as 2c6221e4a5aab417 ("net: sh_eth: Fix RX packets errors on R8A7740"). Unfortunately sh_eth.c contains many similar instances of struct sh_eth_cpu_data and the patch was miss-applied, updating sh7734_data instead of r8a7740_data. This patch corrects this problem by. 1. Reverting the change to sh7734_data and; 2. Applying the change to r8a7740_data. Signed-off-by: Simon Horman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-10-11iwlwifi: support Signed firmware image and Dual CPUsEran Harary5-5/+197
Support Signed firmware based on code signing system (CSS) protocol and dual CPUs download, the code recognize if there are more than one CPU and if we need to operate the signed protocol according to the ucode binary image Signed-off-by: Eran Harary <[email protected]> Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: mvm: fix scan request's suspend time parameterAlexander Bondar1-3/+3
This fix is related to a scan request when associated (bgscan). FW expects suspend time parameter in micro seconds while the driver provides a value in time units. This bug leads to a high traffic latency when scan is requested while traffic is in progress. Signed-off-by: Alexander Bondar <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: mvm: add IBSS supportJohannes Berg7-41/+102
At the firmware level, IBSS support has similar programming requirements as AP/GO support, so use the same functions with just small differences. With IBSS only a single virtual interface can be used, so no changes in the advertised interface combinations are needed. For now, don't use hardware crypto for the GTKs in IBSS mode, the firmware should support it though. Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: Support 7265 devicesEran Harary3-1/+19
7265 is a very similar device to 7260, so just add the definitions based on 7260 for it. Signed-off-by: Eran Harary <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: don't WARN on bad firmware stateStanislaw Gruszka1-11/+11
When we restart firmware and it is marked as not alive, we can still get calls from mac80211. Don't WARN on in this situation as this triggers automatic bug reports with no valuable information. This continuation of: commit 8ca95995e64f5d270889badb3e449dca91106a2b Author: Emmanuel Grumbach <[email protected]> Date: Sun Sep 15 11:37:17 2013 +0300 iwlwifi: don't WARN on host commands sent when firmware is dead which remove WARN_ONCE from one place, but those warnings are also triggered from other functions. Patch also adds unlikely() statement. Signed-off-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: pcie: poke device when commands don't complete quicklyJohannes Berg1-5/+26
In certain corner cases in the firmware implementation, powersave transitions can cause the firmware to miss the fact that commands were added to the queue/FIFO and thus never processes them. Since the commands really are in the queue, try to poke the firmware in such cases (by grabbing NIC access, which wakes up the NIC) so it notices the new command and processes it. Reviewed-by: Alexander Bondar <[email protected]> Reviewed-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: mvm: BT Coex - update integration with rate controlEmmanuel Grumbach3-43/+23
Remove code that is not needed and always allow MIMO when in tight mode. In loose mode, we should avoid MIMO since BT can use the other antenna to Rx while we Tx. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: mvm: BT Coex - remove duplicate code in rate controlEmmanuel Grumbach1-7/+0
The code limiting the AMPDU length due to BT traffic was duplicated. Remove the redundant code. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: mvm: BT Coex - start AMPDU even when BT is activeEmmanuel Grumbach1-11/+0
Tests have shown that we should start AMPDU even when BT is active. So remove that constraint. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: mvm: BT Coex - tune SMPS parametersEmmanuel Grumbach1-4/+4
Tests have shown that we should go SMSP_STATIC when BT traffic is high, and stay in dynamic if BT traffic is low. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
2013-10-11iwlwifi: mvm: BT Coex - track bandwidth changes in HTEmmanuel Grumbach3-5/+6
BT Coex needs to be updated when the bandwidth is modified by the AP. While at it, remove the vif parameter from bt_coex_vif_change since it was unused. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Johannes Berg <[email protected]>