aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless
AgeCommit message (Collapse)AuthorFilesLines
2014-05-21iwlwifi: mvm: pass force_assoc_off all the way down to avoid hacksLuciano Coelho4-16/+18
In some cases, we need to force the association to be off in the MAC_CONTEXT_CMD command we send to the firmware. Instead of having to hack the vif->bss_conf.assoc value, pass it all the way down the call chain. Additionally, for the iwl_mvm_mac_ctxt_add() case, we *always* set forced_assoc_off to true, so we can remove the hack in the d3 code that was forcing it to off by hacking the bss_conf.assoc value. Signed-off-by: Luciano Coelho <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-21iwlwifi: mvm: don't filter out the first beaconAvri Altman3-52/+27
Enabling beacon filtering should be done only after a beacon has been received. Doing that too early will cause disconnections. This has already been fixed, but the fix didn't take care about the case where the beacon is received after the association, it waited only for association which is not enough. Signed-off-by: Avri Altman <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-21Merge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-nextEmmanuel Grumbach4-11/+11
Signed-off-by: Emmanuel Grumbach <[email protected]> Conflicts: drivers/net/wireless/iwlwifi/mvm/mac80211.c
2014-05-21iwlwifi: mvm: disable beacon filteringEmmanuel Grumbach1-1/+1
This feature has been causing trouble - disable it for now. Cc: <[email protected]> [3.13+] Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-20ath9k: fixup "ath9k_htc: fix build with disabled debug"John W. Linville1-1/+1
Apparently Oleksij's compile testing was no better than mine initially was... :-( Cc: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-20b43: xmit: set 5 GHz bit depending on current bandRafał Miłecki2-2/+2
PHYs other than A may also work in 5 GHz mode. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-20ath9k_htc: fix build with disabled debugOleksij Rempel1-1/+1
CC [M] drivers/net/wireless/ath/ath9k/htc_drv_txrx.o drivers/net/wireless/ath/ath9k/htc_drv_txrx.c: In function ‘ath9k_rx_prepare’: drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:1006:2: warning: passing argument 2 of ‘ath9k_htc_err_stat_rx’ from incompatible pointer type [enabled by default] ath9k_htc_err_stat_rx(priv, &rx_stats); ^ In file included from drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:17:0: drivers/net/wireless/ath/ath9k/htc.h:380:20: note: expected ‘struct ath_htc_rx_status *’ but argument is of type ‘struct ath_rx_status *’ static inline void ath9k_htc_err_stat_rx(struct ath9k_htc_priv *priv, Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-20b43: add more devices to the bands databaseRafał Miłecki1-0/+32
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-20b43: move bands detection to a separated functionRafał Miłecki1-42/+56
This cleans code a bit and allows adding support for more devices. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19brcmsmac: make return of 0 explicitJulia Lawall1-9/+4
Delete unnecessary local variable whose value is always 0 and that hides the fact that the result is always 0. A simplified version of the semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ local idexpression ret; expression e; position p; @@ -ret = 0; ... when != ret = e return - ret + 0 ; // </smpl> Signed-off-by: Julia Lawall <[email protected]> [[email protected]: make brcms_b_detach() a void function] Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19ath9k_hw: Abort transmission for sleeping stationRajkumar Manoharan4-3/+31
The data transmission to the power save station should be aborted immediately, whenever the station informs sleep state. Right now the frames queued into into hardware are being transmitted until the hardware detects the power save station based excessive retries of the data frames due to unacknowlegdement. Then remaining frames are returned with filetered status and might be retried later by driver or mac80211. Per WFA certification testing, AP should not send out more than two frames after processing nullfunc with PM bit set from associated station. To speed up tx filtering, the pending frames in hardware queues for given station will be aborted immediately via tx filter registers. This transmit filters can be ignored if the descriptor is having invalid destination index or clear destination mask set. Signed-off-by: Rajkumar Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19b43: make B43_PCMCIA and B43_SDIO depend on B43_SSBRafał Miłecki1-2/+2
These are extra configs specific to the SSB. Lack of this dependency and CONFIG_B43=y CONFIG_B43_BUSES_BCMA=y CONFIG_SSB=m would result in: > drivers/built-in.o: In function `b43_sdio_remove': > sdio.c:(.text+0x14657f): undefined reference to `ssb_bus_unregister' > drivers/built-in.o: In function `b43_sdio_probe': > sdio.c:(.text+0x14672f): undefined reference to `ssb_bus_sdiobus_register' Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19b43: rework band switchingRafał Miłecki2-60/+45
We always operate on one core and simple band switch doesn't require full core reset. Simply reset the PHY. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19b43: complete PHY resetRafał Miłecki3-32/+61
Use separated function for taking PHY out of reset and implement reset for BCMA. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19b43: move PHY reset code into PHY specific fileRafał Miłecki3-34/+36
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19b43: split upload of init values into 2 functionsRafał Miłecki1-15/+22
There are two groups of init values. The first one has to be uploaded once per wireless core reset but the second one on every band switch. To implement band switching in an optimal way allow uploading band init values only (by using a separated function). Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19rtlwifi: remove unused allow_all_destaddr functionsPeter Wu15-118/+0
Unused as configure_filter takes care of setting/clearing RCR_AAP. In commit "rtlwifi: rtl8723be: rtl8723com: Remove unused allow_all_destaddr functions", Larry Finger removed allow_all_destaddr from the struct. This commit removes the related function too. Signed-off-by: Peter Wu <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-19cfg80211: constify wowlan/coalesce mask/pattern pointersJohannes Berg2-3/+3
This requires changing the nl80211 parsing code a bit to use intermediate pointers for the allocation, but clarifies the API towards the drivers. Signed-off-by: Johannes Berg <[email protected]>
2014-05-19cfg80211: constify more pointers in the cfg80211 APIJohannes Berg7-12/+12
This also propagates through the drivers. The orinoco driver uses the cfg80211 API structs for internal bookkeeping, and so needs a (void *) cast that removes the const - but that's OK because it allocates those pointers. Signed-off-by: Johannes Berg <[email protected]>
2014-05-19cfg80211: constify MAC addresses in cfg80211 opsJohannes Berg14-67/+70
This propagates through all the drivers and mac80211. Signed-off-by: Johannes Berg <[email protected]>
2014-05-19iwlwifi: mvm: set the MAC_FILTER_IN_BEACON flag also for P2PLuciano Coelho1-2/+1
There doesn't seem to be a good reason for not enabling the MAC_FILTER_IN_BEACON flag for P2P client, as we do for station. This can prevent potential, hard-to-reproduce problems during association. Signed-off-by: Luciano Coelho <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-19iwlwifi: mvm: enable MAC_FILTER_IN_BEACON when forced_assoc_off is setLuciano Coelho1-8/+6
Set the MAC_FILTER_IN_BEACON flag in iwl_mvm_mac_ctxt_cmd_sata() also when forced_assoc_off is set, so it's aligned with when we are not associated. Signed-off-by: Luciano Coelho <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-19iwlwifi: mvm: don't allow diversity if BT Coex / TT forbid itEmmanuel Grumbach3-2/+35
We should not allow diversity when BT Coex needs the second antenna. Thermal Throttling can also request to stop using the second antenna. Honour those requests. Signed-off-by: Emmanuel Grumbach <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-19iwlwifi: mvm: Remove redundant initializationAvri Altman1-1/+0
This value is being set few lines under in set_cqm_params. Signed-off-by: Avri Altman <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-19iwlwifi: mvm: update power after phy_ctxt is NULL when unassigning chanctxLuciano Coelho1-1/+1
iwl_mvm_power_update_mac() (more specifically iwl_mvm_power_iterator()) relies on the phy_ctxt setting to decide whether the vif is active or not. When unassigning a chanctx, we should therefore call iwl_mvm_power_update_mac() after setting phy_chanctx to NULL. Signed-off-by: Luciano Coelho <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-16wlcore: Remove trailing semicolon from do {...} while (0) macroJoe Perches1-2/+2
These should not have trailing semicolons so remove them. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-16mwifiex: set valid tx_param during mwifiex_send_null_packetAvinash Patil2-1/+4
While sending null packet from driver we are passing NULL tx_param pointer to indicate there are no more packets in queue. PCIe send routine assumes caller has done sanity check on tx_param and may cause crash while dereferencing next_pkt_len from tx_param. Avoid this by passing tx_param structure with next_pkt_len as zero instead of NULL pointer. Signed-off-by: Avinash Patil <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-16mwifiex: restore current SDIO write port in failure casesAvinash Patil1-1/+5
During SDIO MP aggregation, we at first acquire current write port to write data onto and then proceed with using this port for SDIO write. If error occurs later in mwifiex_write_data_sync because device is suspended or SDIO write failure, we do not restore current write port and write bitmap. This results into leaking one port and hole in SDIO write port bitmap. Restore current write port and reset bitmap accordingly in failure cases to avoid this. Reported-by: James Cameron <[email protected]> Signed-off-by: Avinash Patil <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Reviewed-by: James Cameron <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-16ath: add JP DFS pattern detectorJanusz Dziedzic1-0/+20
Add initial values for JP DFS pattern detector. Signed-off-by: Janusz Dziedzic <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-16ath: add DFS FCC pattern detectorJanusz Dziedzic1-1/+24
Add initial values for DFS FCC pattern detector. Signed-off-by: Janusz Dziedzic <[email protected]> Tested-by: Bartosz Markowski <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-16drivers/net/wireless/ti/wl*/spi.c: Simplify CRC computationGeorge Spelvin2-45/+43
These devices require commands stored in buffers in an odd order, different from that in which the CRC is computed. Rather than make two copies of the commands in two different orders, form the commands in logical (CRC) order, append the CRC, then byte-swap in place to the desired order. The old code worked fine, I'm just scratching an "ugh, that's ugly" itch. Signed-off-by: George Spelvin <[email protected]> Reviewed-by: Pavel Machek <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-16lib/crc7: Shift crc7() output left 1 bitGeorge Spelvin4-6/+2
This eliminates a 1-bit left shift in every single caller, and makes the inner loop of the CRC computation more efficient. Renamed crc7 to crc7_be (big-endian) since the interface changed. Also purged #include <linux/crc7.h> from files that don't use it at all. Signed-off-by: George Spelvin <[email protected]> Reviewed-by: Pavel Machek <[email protected]> Acked-by: Ulf Hansson <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-16Merge branch 'master' of ↵John W. Linville51-368/+443
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
2014-05-16Merge branch 'for-linville' of git://github.com/kvalo/athJohn W. Linville4-3/+39
2014-05-16ath10k: fix pmf for action framesMarek Kwaczynski2-5/+24
Fix sending and receiveing protected managment frames. Lack of protected flag for received protected action frames causes report these frames as unprotected robust action frames. If the driver in AP mode sent frame with protected flag and CCMP header using IEEE80211_KEY_FLAG_SW_MGMT_TX flag, the FW encrypted frames once again. From user side all received SA Query Requests and Responses were skipped and all protected action frames were sent as malformed packets. Signed-off-by: Marek Kwaczynski <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-16ath10k: get rid of pci_assign_resource() call from pci_probeBartosz Markowski1-12/+0
On ARM-based (MSM mach), the pci_assign_resource() is passing some invalid pointers and leading to L2 cache errors, what prevents the PCI communication completly. So far I have not found this funtion to be directly called by any other wifi driver and did not found this assigning needed on any other platform. So removing it completely. Signed-off-by: Bartosz Markowski <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-16ath10k: enable early device dumpsMichal Kazior1-4/+4
This can be useful for early initialization debugging, i.e. ROM crashes. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-16ath10k: retry warm reset a few timesMichal Kazior1-3/+26
Sometimes warm reset works upon retry. It might be related to imperfect warm reset routine, but for now let's just do the retries. This should improve the reliability of some chips that hang/crash with cold reset which is used as a last resort if warm reset fails. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-16ath10k: improve warm reset reliabilityMichal Kazior1-0/+22
Warm reset is now able to recover after device crashes which required a cold reset before. This should greatly reduce chances of getting data bus errors or host system freezes due to buggy cold reset on some chips. kvalo: use ath10k_pci_soc_*() Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-16ath10k: fix spelling mistake in commentsBen Greear1-2/+2
Simple typo fix. Signed-off-by: Ben Greear <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-15iwlwifi: fix LED support Kconfig dependenciesJohannes Berg1-1/+1
If DVM or MVM are built-in but LEDS_CLASS isn't then the current Kconfig will enable LED support and fail the build. Fix this by making the LED support depend on LEDS_CLASS being built-in or, if it is modular, only enabling it if iwlwifi also is. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-15iwlwifi: update nmi registerLiad Kaufman5-5/+26
In the 8000 HW family the register for forcing an NMI has changed, so this allows to still be able to force an NMI while taking into account the HW in order to write to the correct register. Signed-off-by: Liad Kaufman <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-15iwlwifi: mvm: combine p2p and station mac context functionsLuciano Coelho1-58/+32
Instead of having two nearly identical functions to send the mac context commands, use a single way that can handle both the p2p and !p2p cases. Signed-off-by: Luciano Coelho <[email protected]> Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-15iwlwifi: mvm: BT Coex - send channel inhibition before associationEmmanuel Grumbach2-31/+18
The firmware needs to know on what channel we run before we set the association bit in the MAC context. Change a bit the flow to achieve this. Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-15iwlwifi: mvm: add uapsd_disable module parameterMatt Chen4-7/+15
Some APs (e.g. TP-LINK TL-WA801N) are disabling aggregation (downlink to station) when U-APSD is enabled, resulting in low throughput. Add a module parameter to allow disabling U-APSD support in the driver. Also re-enable U-APSD for -9 firmware since the firmare issues were fixed in this release. There are devices that won't support U-APSD even with newer firmware, so bring the TLV flag back to detect those. Signed-off-by: Matt Chen <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2014-05-14ath9k_htc: Stop ANI before doing hw_resetRajkumar Manoharan1-1/+4
During remain on channel request, ANI worker thread is not stopped before doing hw reset. This is causing kernel crash in hw_per_calibration. This change ensures that ANI is stopped before doing chip reset and it will be rescheduled later when the chip is configured back to home channel and having valid bss. Reported-by: David Herrmann <[email protected]> Tested-by: David Herrmann <[email protected]> Signed-off-by: Rajkumar Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2014-05-14ath10k: fix handling of wierd MSDU chaining casesMichal Kazior1-1/+19
Apparently firmware can sometimes report a sequence with the first rx descriptor saying it's not the last MSDU. In that case msdu_chaining value could be overwritten saying it's not a chained MSDU. This in turn led to skb_push panic as the frame could be treated as an A-MSDU instead of a chained MSDU. Reported-By: Avery Pennarun <[email protected]> Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-14ath10k: fix htt rx ring clean upMichal Kazior1-15/+21
msdu_payId was read before txrx tasklet was killed so it was possible to end up using an invalid sk_buff pointer leading to a panic. Make sure to sanitize rx ring sk_buff pointers and make the clean up go through all possible entries and not rely on coherent-DMA mapped u32 index which could be (in theory) corrupted by the device as well. Reported-By: Avery Pennarun <[email protected]> Reported-By: Ben Greear <[email protected]> Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2014-05-14Merge remote-tracking branch 'wireless-next/master' into ath-nextKalle Valo121-1704/+1893
2014-05-14iwlwifi: allow dynamic configuration of internal memoryEran Harary4-0/+30
New transport need to configure internal memory based on the data in the (enlarged) alive notification from the firmware. Add a transport API for this. Signed-off-by: Eran Harary <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>