summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
AgeCommit message (Collapse)Author
2014-07-01net: wireless: bcmdhd: Fix LP0 in case of wifi tetheringManikanta
PROPTX_STATUS periodically sends useful information (such as flow control info, RSSI etc) to the host, this prevents host from going into LP0 mode. Disable dhd_pm_callback pm notifier to fix this issue. bug 200016824 Change-Id: I50c0fa61e6a183d203f8ef49b1ed81a060e81351 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/432654 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-06-25net: wireless: bcmdhd: correct sdio_idsNagarjuna Kristam
Usage of SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_ANY_ID) is causing device hang when BRCM chipsets BCM433341 are used. This is because SDIO_DEVICE MACRO uses, SDIO_ANY_ID for class. Use SDIO_CLASS_NONE instead resolves device hang issue. Bug 1527370 Change-Id: I9af6e7598893663afa7629e822a5934f12c128fa Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/427780 (cherry picked from commit eab2794d3420cc31218709410afd0feab48ced6b) Reviewed-on: http://git-master/r/427779 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2014-06-20net: wireless: bcmdhd: correct sdio_idsNagarjuna Kristam
BCMDHD driver uses SDIO_DEVICE_CLASS(SDIO_CLASS_NONE) ID during sdio register process. This causes brcm driver execution, when other SDIO peripherals with class 0 are used. Replace SDIO_DEVICE_CLASS(SDIO_CLASS_NONE) usage by SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_ANY_ID), to ensure bcmdhd driver execution for Broadcom only hardware. Bug 200013331 Change-Id: Ia31be2940b7e523e30c0740155a567e324da6be1 Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/424260 Reviewed-by: Seema Khowala <seemaj@nvidia.com> Tested-by: Seema Khowala <seemaj@nvidia.com> Reviewed-by: Mitch Luban <mluban@nvidia.com>
2014-06-11drivers: use request_firmware_nowait() instead of request_firmware()Manikanta
During boot request_firmware API call waits for the system partition to mount, whereas kernel gets stuck at request_firmware API call, stalling kernel boot for 60 seconds [Timeout for request firmware]. Use request_firmware_nowait API to avoid deadlock. bug 1520734 bug 200008011 Change-Id: I5a7fcb720c407236108bcac7f36c52b2cd47ee27 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/420452 GVS: Gerrit_Virtual_Submit Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-06-05Merge branch 'linux-3.10.40' into rel-21Ishan Mittal
Bug 200004122 Conflicts: drivers/cpufreq/cpufreq.c drivers/regulator/core.c sound/soc/codecs/max98090.c Change-Id: I9418a05ad5c56b2e902249218bac2fa594d99f56 Signed-off-by: Ishan Mittal <imittal@nvidia.com>
2014-05-30net: wireless: bcmdhd: optimize scan timeNarayan Reddy
modify DHD_SCAN_UNASSOC_ACTIVE_TIME and DHD_SCAN_ASSOC_ACTIVE_TIME to 65 and 35 msec to save 300 msec of active scan time in non associated state and 100 msec in case of associated state. Bug 1496192 Change-Id: I902400763d0e64ee020ff4650253e4934527c0e3 Signed-off-by: Narayan Reddy <narayanr@nvidia.com> Reviewed-on: http://git-master/r/407443 (cherry picked from commit aa34b71e8b235eb2d05e4d2b099bcae36c7d0a02) Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/408717 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-05-28net: wireless: bcmdhd: enable DHD flags for bcmdhd driverManikanta
enable DHD flags to optimize the bcmdhd driver wrt bcm43241 TOE - Enable TCP offload engine RXFRAME_THREAD - Create RX frame thread DHDTCPACKSUPRESS - Fake push BDC header for pkt in delayed q bug 200008015 Change-Id: I27134f136220e2bbfa8c4fcda83331ca5dbddf98 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/415096 Reviewed-by: Narayan Reddy <narayanr@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-05-27net: wireless: Disable chip retry logicNagarjuna Kristam
For tegra reference devices, WiFI pre-power is enabled, which performs chip identification during MMC driver intialization. Disable Chip retry logic, if CONFIG_TEGRA_PREPOWER_WIFI is enabled Bug 1438249 Bug 1467982 Change-Id: I08777052f7333915c06257671e72bf5899d98185 Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/402352 (cherry picked from commit a098912da0ae29f22c30ffca31e9f97ccd84a5a7) Reviewed-on: http://git-master/r/408748 Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com> GVS: Gerrit_Virtual_Submit
2014-05-27net: wireless: sd8897: update Kconfig and MakefileNagarjuna Kristam
- Update Makefile to compile based on option in defconfig - Update default module params, for proper driver initialization when compiled part of kernel Bug 1438249 Bug 1467982 Change-Id: If79ed1ee36cd27ec9c47b244184c73e96bcf5eec Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/355031 (cherry picked from commit 547efef53edc38a1972e127c59c363a77b716e12) Reviewed-on: http://git-master/r/408745 Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com> GVS: Gerrit_Virtual_Submit
2014-05-23net: wireless: bcmdhd: remove CUSTOM_GLOM_SETTINGManikanta
Remove CUSTOM_GLOM_SETTING from Makefile, this allows firmware to set default glomming algortihm. This improves tcp tx throughput. bug 200003229 Change-Id: Ib92e267fd10ce13af455b100c8cda4d2af8420d9 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/408715 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2014-05-23net: wireless: use CONFIG_BCMDHD_HW_OOB to enable HW_OOB and OOB_INTR_ONLYSeshagir.H
Enable HW_OOB and OOB_INTR_ONLY when CONFIG_BCMDHD_HW_OOB is set, else enable SDIO_ISR_THREAD bug 200001046 Change-Id: Icd72c7ffe8bdcfe5b7b15139153ec117c86f2569 Signed-off-by: Seshagir.H <sholi@nvidia.com> Reviewed-on: http://git-master/r/403380 Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com> (cherry picked from commit c8fd6f8c298dc8a2f6045df6220d0c0838b0a6b9) Reviewed-on: http://git-master/r/404240 Reviewed-by: Phoenix Jung <pjung@nvidia.com> Reviewed-by: Sandeep Trasi <strasi@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-05-13rtlwifi: rtl8188ee: initialize packet_beaconColin Ian King
commit 328e203fc35f0b4f6df1c4943f74cf553bcc04f8 upstream. static code analysis from cppcheck reports: [drivers/net/wireless/rtlwifi/rtl8188ee/trx.c:322]: (error) Uninitialized variable: packet_beacon packet_beacon is not initialized and hence packet_beacon contains garbage from the stack, so set it to false. Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13rtlwifi: rtl8192se: Fix regression due to commit 1bf4bbbLarry Finger
commit 5f9186990ec4579ee5b7a99b3254c29eda479f36 upstream. Beginning with kernel 3.13, this driver fails on some systems. The problem was bisected to: Commit 1bf4bbb4024dcdab5e57634dd8ae1072d42a53ac Author: Felix Fietkau <nbd@openwrt.org> Title: mac80211: send control port protocol frames to the VO queue There is noting wrong with the above commit. The regression occurs because V0 queue on RTL8192SE cards uses priority 6, not the usual 7. The fix is to modify the rtl8192se routine that sets the correct transmit queue. Bug: https://bugzilla.kernel.org/show_bug.cgi?id=74541 Reported-by: Alex Miller <almiller_1@yahoo.co.uk> Tested-by: Alex Miller <almiller_1@yahoo.co.uk> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13rtlwifi: rtl8192se: Fix too long disable of IRQsLarry Finger
commit 2610decdd0b3808ba20471a999835cfee5275f98 upstream. In commit f78bccd79ba3cd9d9664981b501d57bdb81ab8a4 entitled "rtlwifi: rtl8192ce: Fix too long disable of IRQs", Olivier Langlois <olivier@trillion01.com> fixed a problem caused by an extra long disabling of interrupts. This patch makes the same fix for rtl8192se. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13rtlwifi: rtl8192cu: Fix too long disable of IRQsLarry Finger
commit a53268be0cb9763f11da4f6fe3fb924cbe3a7d4a upstream. In commit f78bccd79ba3cd9d9664981b501d57bdb81ab8a4 entitled "rtlwifi: rtl8192ce: Fix too long disable of IRQs", Olivier Langlois <olivier@trillion01.com> fixed a problem caused by an extra long disabling of interrupts. This patch makes the same fix for rtl8192cu. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13rtlwifi: rtl8188ee: Fix too long disable of IRQsLarry Finger
commit 6b6392715856d563719991e9ce95e773491a8983 upstream. In commit f78bccd79ba3cd9d9664981b501d57bdb81ab8a4 entitled "rtlwifi: rtl8192ce: Fix too long disable of IRQs", Olivier Langlois <olivier@trillion01.com> fixed a problem caused by an extra long disabling of interrupts. This patch makes the same fix for rtl8188ee. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13rtlwifi: rtl8723ae: Fix too long disable of IRQsLarry Finger
commit bfc1010c418a22cbebd8b1bd1e75dad6a527a609 upstream. In commit f78bccd79ba3cd9d9664981b501d57bdb81ab8a4 entitled "rtlwifi: rtl8192ce: Fix too long disable of IRQs", Olivier Langlois <olivier@trillion01.com> fixed a problem caused by an extra long disabling of interrupts. This patch makes the same fix for rtl8723ae. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13iwlwifi: dvm: take mutex when sending SYNC BT config commandEmmanuel Grumbach
commit 82e5a649453a3cf23516277abb84273768a1592b upstream. There is a flow in which we send the host command in SYNC mode, but we don't take priv->mutex. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1046495 Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-13b43: Fix machine check error due to improper access of B43_MMIO_PSM_PHY_HDRRafał Miłecki
commit 12cd43c6ed6da7bf7c5afbd74da6959cda6d056b upstream. Register B43_MMIO_PSM_PHY_HDR is 16 bit one, so accessing it with 32b functions isn't safe. On my machine it causes delayed (!) CPU exception: Disabling lock debugging due to kernel taint mce: [Hardware Error]: CPU 0: Machine Check Exception: 4 Bank 4: b200000000070f0f mce: [Hardware Error]: TSC 164083803dc mce: [Hardware Error]: PROCESSOR 2:20fc2 TIME 1396650505 SOCKET 0 APIC 0 microcode 0 mce: [Hardware Error]: Run the above through 'mcelog --ascii' mce: [Hardware Error]: Machine check: Processor context corrupt Kernel panic - not syncing: Fatal machine check on current CPU Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff) Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-12net: wireless: bcmdhd: handle roam indicationNarayan Reddy
When user modifies any settings in AP, wlan driver does a reconnection on its own and after connection is re-established, reports it as ROAM_EVENT to cfg. Sometimes bss information of that particular bssid gets expired in the cfg80211 which is resulting in the WARN_ON in cfg80211_roamed function. So skip roaming indication to cfg80211 layer if it is connected to the same BSSID Bug 1500472 Change-Id: I67b9466840451d65a3d7558fc14294ecf1ccf865 Signed-off-by: Narayan Reddy <narayanr@nvidia.com> Reviewed-on: http://git-master/r/403994 (cherry picked from commit 56e52b147181ca3489e0090072d6d5fc42be0f1d) Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/408004 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-05-06net: wireless: bcmdhd: Fix card detection race conditionManikanta
On non built-in platform device cases mmc_rescan will initiated by mmc stack and android wifi device. So stop the card detection on mmc device probe, Since card detection is completed. So that we can avoid mmc_rescan initiation after power save done in sdio client driver probe. bug 1492308 bug 200000066 Change-Id: I26165399c463878f1f8acc76cb6174c83bf81b56 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/404975 GVS: Gerrit_Virtual_Submit Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com> Reviewed-by: Narayan Reddy <narayanr@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-05-01net: wireless: bcmdhd: Set KSO enable sleep to 5msMohan T
The HW time requirements to wake up the BRCM chip is about 5ms. 3ms sleep time is too aggressive for wake up, due to which CMD CRC is observed. So change the sleep for KSO bit set from 3ms to 5ms. Bug 1456241 Bug 1500578 Change-Id: Ia20b173a7730cff2356e62eb57baddb09d24a784 Signed-off-by: Mohan T <mohant@nvidia.com> Reviewed-on: http://git-master/r/399663 Reviewed-on: http://git-master/r/403760 Reviewed-by: Narayan Reddy <narayanr@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> GVS: Gerrit_Virtual_Submit
2014-04-23net: wireless: clean bcmdhd driver makefileManikanta
clean bcmdhd driver makefile to support different versions of bcm chips with one driver module bug 1430977 Change-Id: Iab3614693171ac7a4fa06c1415d3e966024b98e5 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/395823 GVS: Gerrit_Virtual_Submit Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> Tested-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-by: Narayan Reddy <narayanr@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-04-22net: wireless: bcmdhd: don't advertise FW_ROAM feature to supplicantManikanta
In single channel concurrent mode if we forget AP and again try to connect to same AP, freq conflict is observed. If driver advertises FW_ROAM, the supplicant wouldn't send the BSSID & Freq in the connect command allowing the the driver to choose the AP to connect to. As freq is not know during connection it raises a freq conflict. The better approach is to let supplicant to provide channel info and let FW may roam if needed, so don't advertise that feature to supplicant. bug 1498942 Change-Id: If812ce64c958d2f28f88c4459065a08de0aa5d69 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/397562 (cherry picked from commit 7bc2df511ee2044e80bbaaf5131d6a92267176a2) Reviewed-on: http://git-master/r/398725 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-04-07net: wireless: set ampdu_hostreorder fails sometimesManikanta
set ampdu_hostreorder fails sometimes, this causes wifi to stuck in turning on state. This issue is seen when mobile network is camped in device. Remove error check for the call as it doesn't break wifi and it same as 1.88.xx driver. bug 1476733 bug 1473913 Change-Id: I02c16ee677c65e678e5fab06464e239b7f55e011 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/387559 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> Tested-by: Nagarjuna Kristam <nkristam@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
2014-04-07net: wireless: bcmdhd: add nvidia specific changesManikanta
- Wifi mitigation strategy changes - Modify "disable_proptx" flag when proptx is set - NULL check for wl_cfgp2p_generate_bss_mac - Disable block ack for UP7 - Key installation timing fix - Fix division by zero - Add flag to enable MCC - Set dpc rt thread priority to max - Add edp changes for wifi in driver - Power off card when not in use Bug 1473913 Change-Id: I3572adf2fe368d19f1c35fff715b31dbedfa300d Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/375971 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> Tested-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-by: Narayan Reddy <narayanr@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
2014-04-07net: wireless: bcmdhd: fix 64-bit safeness issuesManikanta
If a structure has pointer as a field and used in copy_from_user, it causes issues in case of 32-bit userspace and 64-bit kernel as structure size varies in kernel and userspace. To handle this case define new structure without a pointer and use in case of compat task. bug 1466409 Change-Id: I1dfb511b2683d93ba66626877885a4ad0ea37470 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/374795 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> Tested-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
2014-04-07net: wireless: bcmdhd: update bcmdhd driver to 1.141.46Manikanta
Change list: - 64 bit support - RBE support - wl support bug 1473913 bug 1434476 Change-Id: I3223baf66fd4b0dd983836af9ccb21071d7aeac9 Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/376571 Reviewed-by: Nagarjuna Kristam <nkristam@nvidia.com> Tested-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-by: Narayan Reddy <narayanr@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
2014-03-31p54: clamp properly instead of just truncatingDan Carpenter
commit 608cfbe4abaf76e9d732efd7ed1cfa3998163d91 upstream. The call to clamp_t() first truncates the variable signed 8 bit and as a result, the actual clamp is a no-op. Fixes: 0d78156eef1d ('p54: improve site survey') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23iwlwifi: mvm: don't WARN when statistics are handled lateEmmanuel Grumbach
commit 1e9291996c4eedf79883f47ec635235e39d3d6cd upstream. Since the statistics handler is asynchrous, it can very well be that we will handle the statistics (hence the RSSI fluctuation) when we already disassociated. Don't WARN on this case. This solves: https://bugzilla.redhat.com/show_bug.cgi?id=1071998 Fixes: 2b76ef13086f ("iwlwifi: mvm: implement reduced Tx power") Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23mwifiex: save and copy AP's VHT capability info correctlyAmitkumar Karwar
commit d51246481c7f28bbfa1f814ded2da65e531cd4b2 upstream. While preparing association request, intersection of device's VHT capability information and corresponding field advertised by AP is used. This patch fixes a couple errors while saving and copying vht_cap and vht_oper fields from AP's beacon. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23mwifiex: copy AP's HT capability info correctlyAmitkumar Karwar
commit c99b1861c232e1f641f13b8645e0febb3712cc71 upstream. While preparing association request, intersection of device's HT capability information and corresponding fields advertised by AP is used. This patch fixes an error while copying this field from AP's beacon. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23mwifiex: do not advertise usb autosuspend supportBing Zhao
commit adb07df1e039e9fe43e66aeea8b4771f83659dbb upstream. As many Surface Pro I & II users have found out, the mwifiex_usb doesn't support usb autosuspend, and it has caused some system stability issues. Bug 69661 - mwifiex_usb on MS Surface Pro 1 is unstable Bug 60815 - Interface hangs in mwifiex_usb Bug 64111 - mwifiex_usb USB8797 crash failed to get signal information USB autosuspend get triggered when Surface Pro's AC power is removed or powertop enables power saving on USB8797 device. Driver's suspend handler is called here, but resume handler won't be called until the AC power is put back on or powertop disables power saving for USB8797. We need to refactor the suspend/resume handlers to support usb autosuspend properly. For now let's just remove it. Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23mwifiex: fix cmd and Tx data timeout issue for PCIe cardsAmitkumar Karwar
commit 1c97560f6d751a620978504a4a888c631192b71a upstream. We are sending sleep confirm done interrupt in the middle of sleep handshake. There is a corner case when Tx done interrupt is received from firmware during sleep handshake due to which host and firmware power states go out of sync causing cmd and Tx data timeout problem. Hence sleep confirm done interrupt is sent at the end of sleep handshake to fix the problem. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23mwifiex: add NULL check for PCIe Rx skbAmitkumar Karwar
commit bb8e6a1ee881d131e404f0f1f5e8dc9281002771 upstream. We may get a NULL pointer here if skb allocation for Rx packet was failed earlier. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23mwifiex: clean pcie ring only when device is presentAvinash Patil
commit 4f7ba432202c8330cc03ab959c6228d0de5dc4a3 upstream. Write io memory to clean PCIe buffer only when PCIe device is present else this results into crash because of invalid memory access. Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23iwlwifi: disable TX AMPDU by default for iwldvmEmmanuel Grumbach
commit 205e2210daa975d92ace485a65a31ccc4077fe1a upstream. NICs supported by iwldvm don't handle well TX AMPDU. Disable it by default, still leave the possibility to the user to force enable it with a debug parameter. NICs supported by iwlmvm don't suffer from the same issue, leave TX AMPDU enabled by default for these. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23iwlwifi: fix TX status for aggregated packetsJohannes Berg
commit 143582c6847cb285b361804c613127c25de60ca4 upstream. Only the first packet is currently handled correctly, but then all others are assumed to have failed which is problematic. Fix this, marking them all successful instead (since if they're not then the firmware will have transmitted them as single frames.) This fixes the lost packet reporting. Also do a tiny variable scoping cleanup. Signed-off-by: Johannes Berg <johannes.berg@intel.com> [Add the dvm part] Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23iwlwifi: dvm: clear IWL_STA_UCODE_INPROGRESS when assoc failsEmmanuel Grumbach
commit ec6f678c74dbdb06a6a775bbb00f1d26c17c404b upstream. We set IWL_STA_UCODE_INPROGRESS flag when we add a station and clear it when we send the LQ command for it. But the LQ command is sent only when the association succeeds. If the association doesn't succeed, we would leave this flag set and that wouldn't indicate the station entry as vacant. This probably fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1065663 Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23ath9k: Fix ETSI compliance for AR9462 2.0Sujith Manoharan
commit b3050248c167871ca52cfdb2ce78aa2460249346 upstream. The minimum CCA power threshold values have to be adjusted for existing cards to be in compliance with new regulations. Newer cards will make use of the values obtained from EEPROM, support for this was added earlier. To make sure that cards that are already in use and don't have proper values in EEPROM, do not violate regulations, use the initvals instead. Reported-by: Jeang Daniel <dyjeong@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-19net: wireless: remove marvell sd8797 driverManikanta
Marvell sd8797 has marvell proprietary license, as sd8797 chip is not used, remove the driver. bug 1458625 Change-Id: If48a15d6e475148af71d5700e039fdf517de7b9e Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/383066 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-03-19net: wireless: update license on sd8897 M463 driverTimothy Li
Signed-off-by: Timothy Li <tli@marvell.com> Change the license of sd8897 driver to MGPL Bug 1458625 Change-Id: Ide80b2b075ae3adaf2de476530c0dd40739d5a1e Signed-off-by: Manikanta <mmaddireddy@nvidia.com> Reviewed-on: http://git-master/r/382911 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
2014-03-17net: wireless: bcmdhd: Wi-Fi scan fixDhruvaraja Kunjar
choose appropriate netdev to issue scan command depending on netdev interface type. Bug 1472982 Change-Id: I1bdf15760119f98e4b55432aef6e397b16bed1e4 Signed-off-by: Dhruvaraja Kunjar <dkunjar@broadcom.com> Signed-off-by: Om Prakash Singh <omp@nvidia.com> Reviewed-on: http://git-master/r/379861 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-03-13Merge branch 'linux-3.10.33' into dev-kernel-3.10Deepak Nibade
Bug 1456092 Change-Id: Ic563f451abb08754fea0e2bbf0ce065ca2e6e770 Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
2014-03-13Merge branch 'linux-3.10.33' into dev-kernel-3.10Deepak Nibade
Bug 1456092 Change-Id: I3021247ec68a3c2dddd9e98cde13d70a45191d53 Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
2014-03-10net: wireless: bcmdhd: Update copyright infoSyed Asifful Dayyan
SWWLAN-44451, RB:24767: Update copyright info Updated copyright information of dhd_qmon files as Open Broadcom Corporation Bug 1458617 Change-Id: Iadd25d79c110f9fbac3f1e7b2512efa27c768178 Signed-off-by: Syed Asifful Dayyan <syedd@broadcom.com> Signed-off-by: Raghu <kraghavender@nvidia.com> Reviewed-on: http://git-master/r/378274 Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com> Tested-by: Rakesh Goyal <rgoyal@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2014-03-06rtlwifi: rtl8192ce: Fix too long disable of IRQsOlivier Langlois
commit f78bccd79ba3cd9d9664981b501d57bdb81ab8a4 upstream. rtl8192ce is disabling for too long the local interrupts during hw initiatialisation when performing scans The observable symptoms in dmesg can be: - underruns from ALSA playback - clock freezes (tstamps do not change for several dmesg entries until irqs are finaly reenabled): [ 250.817669] rtlwifi:rtl_op_config():<0-0-0> 0x100 [ 250.817685] rtl8192ce:_rtl92ce_phy_set_rf_power_state():<0-1-0> IPS Set eRf nic enable [ 250.817732] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.817796] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.817910] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818024] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818139] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818253] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818367] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818472] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818472] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818472] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818472] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:18051d59:11 [ 250.818472] rtl8192ce:_rtl92ce_init_mac():<0-1-0> reg0xec:98053f15:10 [ 250.818472] rtl8192ce:rtl92ce_sw_led_on():<0-1-0> LedAddr:4E ledpin=1 [ 250.818472] rtl8192c_common:rtl92c_download_fw():<0-1-0> Firmware Version(49), Signature(0x88c1),Size(32) [ 250.818472] rtl8192ce:rtl92ce_enable_hw_security_config():<0-1-0> PairwiseEncAlgorithm = 0 GroupEncAlgorithm = 0 [ 250.818472] rtl8192ce:rtl92ce_enable_hw_security_config():<0-1-0> The SECR-value cc [ 250.818472] rtl8192c_common:rtl92c_dm_check_txpower_tracking_thermal_meter():<0-1-0> Schedule TxPowerTracking direct call!! [ 250.818472] rtl8192c_common:rtl92c_dm_txpower_tracking_callback_thermalmeter():<0-1-0> rtl92c_dm_txpower_tracking_callback_thermalmeter [ 250.818472] rtl8192c_common:rtl92c_dm_txpower_tracking_callback_thermalmeter():<0-1-0> Readback Thermal Meter = 0xe pre thermal meter 0xf eeprom_thermalmeter 0xf [ 250.818472] rtl8192c_common:rtl92c_dm_txpower_tracking_callback_thermalmeter():<0-1-0> Initial pathA ele_d reg0xc80 = 0x40000000, ofdm_index=0xc [ 250.818472] rtl8192c_common:rtl92c_dm_txpower_tracking_callback_thermalmeter():<0-1-0> Initial reg0xa24 = 0x90e1317, cck_index=0xc, ch14 0 [ 250.818472] rtl8192c_common:rtl92c_dm_txpower_tracking_callback_thermalmeter():<0-1-0> Readback Thermal Meter = 0xe pre thermal meter 0xf eeprom_thermalmeter 0xf delta 0x1 delta_lck 0x0 delta_iqk 0x0 [ 250.818472] rtl8192c_common:rtl92c_dm_txpower_tracking_callback_thermalmeter():<0-1-0> <=== [ 250.818472] rtl8192c_common:rtl92c_dm_initialize_txpower_tracking_thermalmeter():<0-1-0> pMgntInfo->txpower_tracking = 1 [ 250.818472] rtl8192ce:rtl92ce_led_control():<0-1-0> ledaction 3 [ 250.818472] rtl8192ce:rtl92ce_sw_led_on():<0-1-0> LedAddr:4E ledpin=1 [ 250.818472] rtlwifi:rtl_ips_nic_on():<0-1-0> before spin_unlock_irqrestore [ 251.154656] PCM: Lost interrupts? [Q]-0 (stream=0, delta=15903, new_hw_ptr=293408, old_hw_ptr=277505) The exact code flow that causes that is: 1. wpa_supplicant send a start_scan request to the nl80211 driver 2. mac80211 module call rtl_op_config with IEEE80211_CONF_CHANGE_IDLE 3. rtl_ips_nic_on is called which disable local irqs 4. rtl92c_phy_set_rf_power_state() is called 5. rtl_ps_enable_nic() is called and hw_init()is executed and then the interrupts on the device are enabled A good solution could be to refactor the code to avoid calling rtl92ce_hw_init() with the irqs disabled but a quick and dirty solution that has proven to work is to reenable the irqs during the function rtl92ce_hw_init(). I think that it is safe doing so since the device interrupt will only be enabled after the init function succeed. Signed-off-by: Olivier Langlois <olivier@trillion01.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-06rtlwifi: Fix incorrect return from rtl_ps_enable_nic()Olivier Langlois
commit 2e8c5e56b307271c2dab6f8bfd1d8a3822ca2390 upstream. rtl_ps_enable_nic() is called from loops that will loop until this function returns true or a maximum number of retries is performed. hw_init() returns non-zero on error. In that situation return false to restore the original design intent to retry hw init when it fails. Signed-off-by: Olivier Langlois <olivier@trillion01.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-06rtl8187: fix regression on MIPS without coherent DMAStanislaw Gruszka
commit b6213e413a4e0c66548153516b074df14f9d08e0 upstream. This patch fixes regression caused by commit a16dad77634 "MIPS: Fix potencial corruption". That commit fixes one corruption scenario in cost of adding another one, which actually start to cause crashes on Yeeloong laptop when rtl8187 driver is used. For correct DMA read operation on machines without DMA coherence, kernel have to invalidate cache, such it will refill later with new data that device wrote to memory, when that data is needed to process. We can only invalidate full cache line. Hence when cache line includes both dma buffer and some other data (written in cache, but not yet in main memory), the other data can not hit memory due to invalidation. That happen on rtl8187 where struct rtl8187_priv fields are located just before and after small buffers that are passed to USB layer and DMA is performed on them. To fix the problem we align buffers and reserve space after them to make them match cache line. This patch does not resolve all possible MIPS problems entirely, for that we have to assure that we always map cache aligned buffers for DMA, what can be complex or even not possible. But patch fixes visible and reproducible regression and seems other possible corruptions do not happen in practice, since Yeeloong laptop works stable without rtl8187 driver. Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=54391 Reported-by: Petr Pisar <petr.pisar@atlas.cz> Bisected-by: Tom Li <biergaizi2009@gmail.com> Reported-and-tested-by: Tom Li <biergaizi2009@gmail.com> Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl> Acked-by: Larry Finger <Larry.Finger@lwfinger.next> Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-22iwlwifi: mvm: BT Coex - disable BT when TXing probe request in scanEmmanuel Grumbach
commit 8e2a866ef214af4e104ec8d593e3269d8fe66d19 upstream. Not doing so will let BT kill our probe requests leading to failures in scan. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>