Re: pull request: iwlwifi-next 2016-01-07
Me again, On 01/07/2016 02:46 PM, Grumbach, Emmanuel wrote: > Hi Kalle, > > Here is the last round of patches for 4.5. Most of them are small and / or > fixes. > Let me know if you have issues. > FYI - I scripted a few checks so that I hope that the internal tags that > leaked > in the previous pull request won't leak any more. > > The following changes since commit e5d15cb530082cc13a6c9457eddd6f75b0f4de65: I had to edit one commit. I re-pushed to the same tag and added another _2 tag if you prefer to be sure. > iwlwifi: bail out in case of bad trans state (2015-12-21 19:35:41 +0200) > > are available in the git repository at: > > https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git > tags/iwlwifi-next-for-kalle-2016-01-07 > > for you to fetch changes up to ccecff64ac4ee0d2f610e6606d2dfb17a38436f6: > > iwlwifi: pcie: properly configure the debug buffer size for 8000 > (2016-01-07 14:39:58 +0200) > > > * bug fixes and improvements for firmware debug system (Golan and myself) > * fixes for D0i3 (Eliad) > * prevent muliple stations with the same MAC address > * advertise support for Rx A-MSDU in A-MPDU > * scan related fixes > * support -20.ucode > * fix WoWLAN for iwldvm > * preparations towards multiple Rx queues > * platform power improvements for GO mode when no clients are associated > > > Ayala Beker (1): > iwlwifi: mvm: don't ask beacons when P2P GO vif and no assoc sta > > David Spinadel (1): > iwlwifi: mvm: fix extended dwell time > > Eliad Peller (1): > iwlwifi: mvm: initialize gtkdata->mvm correctly > > Emmanuel Grumbach (10): > iwlwifi: dvm: fix WoWLAN > iwlwifi: mvm: let the firmware choose the antenna for beacons > iwlwifi: mvm: reset mvm->scan_type when firmware is started > iwlwifi: set max firmware version of 7265 to 17 > iwlwifi: mvm: bump max API to 20 > iwlwifi: mvm: dump the radio registers when the firmware crashes > iwlwifi: mvm: remove useless WARN_ON and rely on cfg80211's combination > iwlwifi: mvm: constify the parameters of a few functions in fw-dbg.c > iwlwifi: mvm: fix memory leaks in error paths upon fw error dump > iwlwifi: pcie: properly configure the debug buffer size for 8000 > > Golan Ben-Ami (1): > iwlwifi: mvm: add a non-trigger window to fw dbg triggers > > Johannes Berg (4): > iwlwifi: mvm: support A-MSDU in A-MPDU > iwlwifi: mvm: prevent multiple stations with the same address > iwlwifi: mvm: check PN for CCMP/GCMP in the driver > iwlwifi: mvm: check minimum temperature notification length > > Matti Gottlieb (1): > iwlwifi: mvm: change mcc update API > > Oren Givon (2): > iwlwifi: update and fix 7265 series PCI IDs > iwlwifi: nvm: fix loading default NVM file > > drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 4 > drivers/net/wireless/intel/iwlwifi/iwl-7000.c | 4 ++-- > drivers/net/wireless/intel/iwlwifi/iwl-8000.c | 2 +- > drivers/net/wireless/intel/iwlwifi/iwl-9000.c | 2 +- > drivers/net/wireless/intel/iwlwifi/iwl-fw-error-dump.h | 2 ++ > drivers/net/wireless/intel/iwlwifi/iwl-fw-file.h | 12 +++- > drivers/net/wireless/intel/iwlwifi/iwl-prph.h | 6 ++ > drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 4 ++-- > drivers/net/wireless/intel/iwlwifi/mvm/d3.c| 115 > +++ > drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h| 60 > +--- > drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c| 62 > -- > drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.h| 30 > +++--- > drivers/net/wireless/intel/iwlwifi/mvm/fw.c| 1 + > drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 53 > + > drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 49 > - > drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 9 ++--- > drivers/net/wireless/intel/iwlwifi/mvm/nvm.c | 55 > +-- > drivers/net/wireless/intel/iwlwifi/mvm/power.c | 2 -- > drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 106 > +- > drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 13 +++-- > drivers/net/wireless/intel/iwlwifi/mvm/sta.h | 12 > drivers/net/wireless/intel/iwlwifi/mvm/tt.c| 2 +- > dr
Re: lost connectivity until "wpa_cli reassociate" is issued
On Thu, Jan 7, 2016 at 9:58 AM, Krishna Chaitanya wrote: > We can check pending packets per queue at mac80211, but first > we need some info from driver level. Someone familiar with RTL > should help. > > cat /sys/kernel/debug/ieee80211/phy*/queues > > If you see non-zero packets here (or) if the queue is stopped > that might explain this behavior... Cool. I'll check that next time it happens, thanks! --david -- eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: lost connectivity until "wpa_cli reassociate" is issued
On Thu, Jan 7, 2016 at 10:17 PM, David Mosberger wrote: > On Thu, Jan 7, 2016 at 9:32 AM, Krishna Chaitanya > wrote: > >> Management frames use a different queue (VO) >> from the logs it looks like a data path issue in driver/FW. >> >> The re-association might be clearing/triggering TX in driver >> solving the issue. > > That sounds plausible to me. Is there an easy way to see the queues? > I haven't tried debugfs yet. We can check pending packets per queue at mac80211, but first we need some info from driver level. Someone familiar with RTL should help. cat /sys/kernel/debug/ieee80211/phy*/queues If you see non-zero packets here (or) if the queue is stopped that might explain this behavior... -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: lost connectivity until "wpa_cli reassociate" is issued
On Thu, Jan 7, 2016 at 9:32 AM, Krishna Chaitanya wrote: > Management frames use a different queue (VO) > from the logs it looks like a data path issue in driver/FW. > > The re-association might be clearing/triggering TX in driver > solving the issue. That sounds plausible to me. Is there an easy way to see the queues? I haven't tried debugfs yet. --david -- eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: lost connectivity until "wpa_cli reassociate" is issued
Ben, On Thu, Jan 7, 2016 at 9:33 AM, Ben Greear wrote: > Could be > a power-save issue perhaps. That was our thought, too. Particularly, since if there is steady traffic (at least a ping every 8 seconds), the problem does not appear to occur. However, the rtl8192cu doesn't support power-saving mode and in any case, we made sure it's off: # iw wlan0 get power_save Power save: off > I assume you have sniffed to see if any frames are going out on the air > during the time of trouble? No, I'm not actually sure how I'd do that. The site we see this most frequently with is remote and we don't have any special WiFi packet sniffer. > If correct packets go out on the air and AP doesn't answer, then likely AP > problem. Not likely an AP problem, since we're seeing this with multiple APs of different brands etc. > If pkts don't get on the air, then check to see if they at least get to > the driver. Yeah, that should be easy to do, I suppose. We had rtl8192cu debugging turned on before but at that time it didn't help. > If they don't get to the driver, then probably it is a kernel/stack issue. > > If they get to the driver but not on the air, then NIC and/or it's firmware > and/or the driver is likely the culprit. Thanks for your thoughts! --david -- eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: lost connectivity until "wpa_cli reassociate" is issued
On 01/07/2016 08:29 AM, David Mosberger wrote: Ben, On Thu, Jan 7, 2016 at 9:24 AM, Ben Greear wrote: On 01/07/2016 08:19 AM, David Mosberger wrote: We are seeing a curious issue where WLAN connectivity sometimes gets stuck until a "wpa_cli reassociate" command is issued. At the WPA level, everything appears to be working fine) (see thread starting at http://lists.infradead.org/pipermail/hostap/2016-January/034454.html). I don't remember seeing you mention the driver and NIC you are using. I think this is likely a driver bug, so please provide that info. Sure, we're using rtl8192cu. I started out suspecting a driver bug as well, but since we're processing management frames during those "stuck" periods just fine (see debug output in http://lists.infradead.org/pipermail/hostap/2016-January/034459.html), I'm not so sure anymore. Like mac80211, we have patched rtl8192cu driver with current bug-fixes already. I have no experience with that chip, but wifi is a tricky beast. Could be a power-save issue perhaps. I assume you have sniffed to see if any frames are going out on the air during the time of trouble? If correct packets go out on the air and AP doesn't answer, then likely AP problem. If pkts don't get on the air, then check to see if they at least get to the driver. If they don't get to the driver, then probably it is a kernel/stack issue. If they get to the driver but not on the air, then NIC and/or it's firmware and/or the driver is likely the culprit. Thanks, Ben --david -- Ben Greear Candela Technologies Inc http://www.candelatech.com -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: lost connectivity until "wpa_cli reassociate" is issued
On Thu, Jan 7, 2016 at 9:59 PM, David Mosberger wrote: > > Ben, > > On Thu, Jan 7, 2016 at 9:24 AM, Ben Greear wrote: > > On 01/07/2016 08:19 AM, David Mosberger wrote: > >> > >> We are seeing a curious issue where WLAN connectivity sometimes > >> gets stuck until a "wpa_cli reassociate" command is issued. > >> > >> At the WPA level, everything appears to be working fine) > >> (see thread starting at > >> http://lists.infradead.org/pipermail/hostap/2016-January/034454.html). > > > > I don't remember seeing you mention the driver and NIC you are using. > > > > I think this is likely a driver bug, so please provide that info. > > Sure, we're using rtl8192cu. I started out suspecting a driver bug as > well, but since we're processing management frames during those > "stuck" periods just fine (see > debug output in > http://lists.infradead.org/pipermail/hostap/2016-January/034459.html), > I'm not so sure anymore. Like mac80211, we have patched rtl8192cu > driver with current > bug-fixes already. Management frames use a different queue (VO) from the logs it looks like a data path issue in driver/FW. The re-association might be clearing/triggering TX in driver solving the issue. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: lost connectivity until "wpa_cli reassociate" is issued
Ben, On Thu, Jan 7, 2016 at 9:24 AM, Ben Greear wrote: > On 01/07/2016 08:19 AM, David Mosberger wrote: >> >> We are seeing a curious issue where WLAN connectivity sometimes >> gets stuck until a "wpa_cli reassociate" command is issued. >> >> At the WPA level, everything appears to be working fine) >> (see thread starting at >> http://lists.infradead.org/pipermail/hostap/2016-January/034454.html). > > I don't remember seeing you mention the driver and NIC you are using. > > I think this is likely a driver bug, so please provide that info. Sure, we're using rtl8192cu. I started out suspecting a driver bug as well, but since we're processing management frames during those "stuck" periods just fine (see debug output in http://lists.infradead.org/pipermail/hostap/2016-January/034459.html), I'm not so sure anymore. Like mac80211, we have patched rtl8192cu driver with current bug-fixes already. --david -- eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] iwlwifi: Document missing module options
Hi, On 01/07/2016 12:24 AM, Rodrigo Freire wrote: > This patch documents two missing module options in the internal > code comment block. > > Signed-off-by: Rodrigo Freire > --- > drivers/net/wireless/iwlwifi/iwl-modparams.h |2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/wireless/iwlwifi/iwl-modparams.h > b/drivers/net/wireless/iwlwifi/iwl-modparams.h > index ac2b90d..1477277 100644 > --- a/drivers/net/wireless/iwlwifi/iwl-modparams.h > +++ b/drivers/net/wireless/iwlwifi/iwl-modparams.h > @@ -102,6 +102,8 @@ enum iwl_disable_11n { > * @power_level: power level, default = 1 > * @debug_level: levels are IWL_DL_* > * @ant_coupling: antenna coupling in dB, default = 0 > + * @nvm_file: specifies a external NVM file > + * @uapsd_disable: disable U-APSD, default = 1 > * @d0i3_disable: disable d0i3, default = 1, > * @lar_disable: disable LAR (regulatory), default = 0 > * @fw_monitor: allow to use firmware monitor Applied in our internal tree. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] wlcore: fix error handling in wlcore_event_fw_logger
wlcore_read/wlcore_write can return negative values so it should be assigned to signed variable. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2120705 Fixes: 3719c17e1816 ("wlcore/wl18xx: fw logger over sdio") Signed-off-by: Andrzej Hajda --- drivers/net/wireless/ti/wlcore/event.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/ti/wlcore/event.c b/drivers/net/wireless/ti/wlcore/event.c index c964054..4b59f67 100644 --- a/drivers/net/wireless/ti/wlcore/event.c +++ b/drivers/net/wireless/ti/wlcore/event.c @@ -38,7 +38,7 @@ int wlcore_event_fw_logger(struct wl1271 *wl) { - u32 ret; + int ret; struct fw_logger_information fw_log; u8 *buffer; u32 internal_fw_addrbase = WL18XX_DATA_RAM_BASE_ADDRESS; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 0/2] wcn36xx: fix crash because rx skb allocation failure
Fengwei Yin writes: > The current wcn36xx driver didn't handle rx skb allocation failure case. > It only could be triggered when system is in extremly memory shortage > case. King Lawrence hit it by git clone linux > kernel tree on DragonBoard <1>. > > The fixing is not to submit the old rx skb to network upper layer and > reuse it as rx DMA buffer again. > > Changes from v2: > * Remove the ugly macro introduced in v2 per comment from Julian Calaby. > * Seperate the DMA int mask register writing as one patch per comment >from Bjorn Andersson. > > Changes from v1: > * Move switch block out of while loop. > * Remove the warning of unknown channel because we didn't deal with it. > > Fengwei Yin (2): > wcn36xx: handle rx skb allocation failure to avoid system crash > wcn36xx: split DMA mask register writing. Applied to ath.git, thanks. -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [patch -next] ath9k: fix ath9k_hw_nvram_check_version()
Dan Carpenter writes: > There is a type bug so it always returns success. > > Fixes: 6fa658fd5ab2 ('ath9k: Simplify and fix eeprom endianness swapping') > Signed-off-by: Dan Carpenter Applied to ath.git, thanks. -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v1 0/2] wil6210 patches
Maya Erez writes: > Chanes in V1: > - Fixed patches author and sign-off. > > Those patches fix wil6210 issue and add support for platform specific > recovery after FW crash > > Hamad Kadmany (1): > wil6210: fix kernel OOPS when stopping interface during Rx traffic > > Lior David (1): > wil6210: support for platform specific crash recovery Applied to ath.git, thanks. -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ath10k: Set SM power save disabled to default value
Peter Oh writes: > Use SMPS disabled as default because FW does not indicate > any support of SMPS. > > This change will help STAs out that don’t support SMPS from > sticking on 1SS, since they don’t have method to change it > back to multiple chains. > > This change also should not affect power consumption of STAs > supporting SMPS, because they are capable to switch the mode > to dynamic or static either at the end of frame sequence or > by using SMPS action frame. > > Signed-off-by: Peter Oh Applied, thanks. -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
pull request: iwlwifi-next 2016-01-07
Hi Kalle, Here is the last round of patches for 4.5. Most of them are small and / or fixes. Let me know if you have issues. FYI - I scripted a few checks so that I hope that the internal tags that leaked in the previous pull request won't leak any more. The following changes since commit e5d15cb530082cc13a6c9457eddd6f75b0f4de65: iwlwifi: bail out in case of bad trans state (2015-12-21 19:35:41 +0200) are available in the git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git tags/iwlwifi-next-for-kalle-2016-01-07 for you to fetch changes up to ccecff64ac4ee0d2f610e6606d2dfb17a38436f6: iwlwifi: pcie: properly configure the debug buffer size for 8000 (2016-01-07 14:39:58 +0200) * bug fixes and improvements for firmware debug system (Golan and myself) * fixes for D0i3 (Eliad) * prevent muliple stations with the same MAC address * advertise support for Rx A-MSDU in A-MPDU * scan related fixes * support -20.ucode * fix WoWLAN for iwldvm * preparations towards multiple Rx queues * platform power improvements for GO mode when no clients are associated Ayala Beker (1): iwlwifi: mvm: don't ask beacons when P2P GO vif and no assoc sta David Spinadel (1): iwlwifi: mvm: fix extended dwell time Eliad Peller (1): iwlwifi: mvm: initialize gtkdata->mvm correctly Emmanuel Grumbach (10): iwlwifi: dvm: fix WoWLAN iwlwifi: mvm: let the firmware choose the antenna for beacons iwlwifi: mvm: reset mvm->scan_type when firmware is started iwlwifi: set max firmware version of 7265 to 17 iwlwifi: mvm: bump max API to 20 iwlwifi: mvm: dump the radio registers when the firmware crashes iwlwifi: mvm: remove useless WARN_ON and rely on cfg80211's combination iwlwifi: mvm: constify the parameters of a few functions in fw-dbg.c iwlwifi: mvm: fix memory leaks in error paths upon fw error dump iwlwifi: pcie: properly configure the debug buffer size for 8000 Golan Ben-Ami (1): iwlwifi: mvm: add a non-trigger window to fw dbg triggers Johannes Berg (4): iwlwifi: mvm: support A-MSDU in A-MPDU iwlwifi: mvm: prevent multiple stations with the same address iwlwifi: mvm: check PN for CCMP/GCMP in the driver iwlwifi: mvm: check minimum temperature notification length Matti Gottlieb (1): iwlwifi: mvm: change mcc update API Oren Givon (2): iwlwifi: update and fix 7265 series PCI IDs iwlwifi: nvm: fix loading default NVM file drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 4 drivers/net/wireless/intel/iwlwifi/iwl-7000.c | 4 ++-- drivers/net/wireless/intel/iwlwifi/iwl-8000.c | 2 +- drivers/net/wireless/intel/iwlwifi/iwl-9000.c | 2 +- drivers/net/wireless/intel/iwlwifi/iwl-fw-error-dump.h | 2 ++ drivers/net/wireless/intel/iwlwifi/iwl-fw-file.h | 12 +++- drivers/net/wireless/intel/iwlwifi/iwl-prph.h | 6 ++ drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 4 ++-- drivers/net/wireless/intel/iwlwifi/mvm/d3.c| 115 +++ drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h| 60 +--- drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c| 62 -- drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.h| 30 +++--- drivers/net/wireless/intel/iwlwifi/mvm/fw.c| 1 + drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 53 + drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 49 - drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 9 ++--- drivers/net/wireless/intel/iwlwifi/mvm/nvm.c | 55 +-- drivers/net/wireless/intel/iwlwifi/mvm/power.c | 2 -- drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 106 +- drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 13 +++-- drivers/net/wireless/intel/iwlwifi/mvm/sta.h | 12 drivers/net/wireless/intel/iwlwifi/mvm/tt.c| 2 +- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 +++-- drivers/net/wireless/intel/iwlwifi/pcie/trans.c| 17 + 24 files changed, 506 insertions(+), 121 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at
[PATCH] iwl4965: Fix a memory leak in error handling code of __il4965_up
When il4965_hw_nic_init in __il4965_up fails, the memory allocated by iwl4965_sta_alloc_lq in iwl4965_alloc_bcast_station is not freed. This patches adds il_dealloc_bcast_stations in the error handling code of __il4965_up to fix this problem. This patch has been tested in real device, and it actually fixes the bug. Signed-off-by: Jia-Ju Bai --- drivers/net/wireless/iwlegacy/4965-mac.c |1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c index 6656215..fd7b5c7 100644 --- a/drivers/net/wireless/iwlegacy/4965-mac.c +++ b/drivers/net/wireless/iwlegacy/4965-mac.c @@ -5577,6 +5577,7 @@ __il4965_up(struct il_priv *il) ret = il4965_hw_nic_init(il); if (ret) { IL_ERR("Unable to init nic\n"); + il_dealloc_bcast_stations(il); return ret; } -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v4 3/3] wlcore/wl12xx: spi: add wifi support to cm-t335
Hi Kalle Valo, On 01/07/2016 11:02 AM, Kalle Valo wrote: Uri Mashiach writes: Device tree modifications: - Pinmux for SPI0 and WiFi GPIOs. - SPI0 node with wlcore as a child node. Cc: Tony Lindgren Signed-off-by: Uri Mashiach --- v1 -> v2: Replace interrupts and interrupt-parent with interrupts-extended. v2 -> v3: Move the pinctrl-0 = <&wifi_pins> to the wlcore node. v3 -> v4: replace interrupts-extended with interrupts and interrupt-parent. (revert v2 modification). According to Rob Herring and Documentation/devicetree/bindings/interrupt-controller/interrupts.txt, interrupts-extended should only be used when a device has multiple interrupt parents. arch/arm/boot/dts/am335x-cm-t335.dts | 55 1 file changed, 55 insertions(+) To what tree should this patch go? My wireless-drivers-next tree doesn't even have this file. Should be applied into omap-for-v4.x/dt https://patchwork.kernel.org/patch/7933441/ -- Thanks, Uri -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 0/6] mwifiex wowlan enahancements
This patch series adds support for schedule scan, wowlan net-detect and reporting wakeup reason to cfg80211. Amitkumar Karwar (1): mwifiex: use SYNC flag for canceling host sleep Ganapathi Bhat (1): mwifiex: add RSSI support for net-detect Xinming Hu (1): mwifiex: add schedule scan support chunfan chen (3): mwifiex: add wowlan info messages mwifiex: add wowlan net-detect support mwifiex: report wakeup reason to cfg80211 drivers/net/wireless/marvell/mwifiex/cfg80211.c| 244 ++-- drivers/net/wireless/marvell/mwifiex/cmdevt.c | 13 + drivers/net/wireless/marvell/mwifiex/fw.h | 86 ++ drivers/net/wireless/marvell/mwifiex/ioctl.h | 5 + drivers/net/wireless/marvell/mwifiex/main.c| 14 + drivers/net/wireless/marvell/mwifiex/main.h| 17 ++ drivers/net/wireless/marvell/mwifiex/scan.c| 308 + drivers/net/wireless/marvell/mwifiex/sdio.c| 2 +- drivers/net/wireless/marvell/mwifiex/sta_cmd.c | 23 ++ drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c | 6 + drivers/net/wireless/marvell/mwifiex/sta_event.c | 7 + drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 25 ++ 12 files changed, 733 insertions(+), 17 deletions(-) -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 3/6] mwifiex: add wowlan net-detect support
From: chunfan chen This patch adds support for wakeup when configured network is detected. Signed-off-by: chunfan chen Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 40 +++- drivers/net/wireless/marvell/mwifiex/fw.h| 2 ++ drivers/net/wireless/marvell/mwifiex/main.c | 7 + drivers/net/wireless/marvell/mwifiex/main.h | 1 + drivers/net/wireless/marvell/mwifiex/scan.c | 32 +++ drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 6 ++-- 6 files changed, 72 insertions(+), 16 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index 6d36d08..a1b8d89 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -3273,7 +3273,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy, priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA); - if (!priv->media_connected) { + if (!priv->media_connected && !wowlan->nd_config) { mwifiex_dbg(adapter, ERROR, "Can not configure WOWLAN in disconnected state\n"); return 0; @@ -3285,22 +3285,32 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy, return ret; } + memset(&hs_cfg, 0, sizeof(hs_cfg)); + hs_cfg.conditions = le32_to_cpu(adapter->hs_cfg.conditions); + + if (wowlan->nd_config) { + mwifiex_dbg(adapter, INFO, "Wake on net detect\n"); + hs_cfg.conditions |= HS_CFG_COND_MAC_EVENT; + mwifiex_cfg80211_sched_scan_start(wiphy, priv->netdev, + wowlan->nd_config); + } + if (wowlan->disconnect) { - memset(&hs_cfg, 0, sizeof(hs_cfg)); - hs_cfg.is_invoke_hostcmd = false; - hs_cfg.conditions = HS_CFG_COND_MAC_EVENT; - hs_cfg.gpio = adapter->hs_cfg.gpio; - hs_cfg.gap = adapter->hs_cfg.gap; - ret = mwifiex_set_hs_params(priv, HostCmd_ACT_GEN_SET, - MWIFIEX_SYNC_CMD, &hs_cfg); - if (ret) { - mwifiex_dbg(adapter, ERROR, - "Failed to set HS params\n"); - return ret; - } + hs_cfg.conditions |= HS_CFG_COND_MAC_EVENT; mwifiex_dbg(priv->adapter, INFO, "Wake on device disconnect\n"); } + hs_cfg.is_invoke_hostcmd = false; + hs_cfg.gpio = adapter->hs_cfg.gpio; + hs_cfg.gap = adapter->hs_cfg.gap; + ret = mwifiex_set_hs_params(priv, HostCmd_ACT_GEN_SET, + MWIFIEX_SYNC_CMD, &hs_cfg); + if (ret) { + mwifiex_dbg(adapter, ERROR, + "Failed to set HS params\n"); + return ret; + } + return ret; } @@ -3853,11 +3863,13 @@ static struct cfg80211_ops mwifiex_cfg80211_ops = { #ifdef CONFIG_PM static const struct wiphy_wowlan_support mwifiex_wowlan_support = { - .flags = WIPHY_WOWLAN_MAGIC_PKT | WIPHY_WOWLAN_DISCONNECT, + .flags = WIPHY_WOWLAN_MAGIC_PKT | WIPHY_WOWLAN_DISCONNECT | + WIPHY_WOWLAN_NET_DETECT, .n_patterns = MWIFIEX_MEF_MAX_FILTERS, .pattern_min_len = 1, .pattern_max_len = MWIFIEX_MAX_PATTERN_LEN, .max_pkt_offset = MWIFIEX_MAX_OFFSET_LEN, + .max_nd_match_sets = MWIFIEX_MAX_ND_MATCH_SETS, }; #endif diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h b/drivers/net/wireless/marvell/mwifiex/fw.h index 07bdc2a..81b491a 100644 --- a/drivers/net/wireless/marvell/mwifiex/fw.h +++ b/drivers/net/wireless/marvell/mwifiex/fw.h @@ -543,6 +543,8 @@ enum P2P_MODES { #define MWIFIEX_MAX_PATTERN_LEN40 #define MWIFIEX_MAX_OFFSET_LEN 100 +#define MWIFIEX_MAX_ND_MATCH_SETS 10 + #define STACK_NBYTES 100 #define TYPE_DNUM 1 #define TYPE_BYTESEQ 2 diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c index a99b72b..3cfa946 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c @@ -132,6 +132,13 @@ static int mwifiex_unregister(struct mwifiex_adapter *adapter) } } + if (adapter->nd_info) { + for (i = 0 ; i < adapter->nd_info->n_matches ; i++) + kfree(adapter->nd_info->matches[i]); + kfree(adapter->nd_info); + adapter->nd_info = NULL; + } + vfree(adapter->chan_stats); kfree(adapter); return 0; diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h index 5f5bcf8..bf9b24a 100644 --- a/drivers/net/wireless/
[PATCH 4/6] mwifiex: report wakeup reason to cfg80211
From: chunfan chen This patch adds code to report wakeup reason to cfg80211 when system is resumed. Signed-off-by: chunfan chen Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/marvell/mwifiex/cfg80211.c| 58 ++ drivers/net/wireless/marvell/mwifiex/cmdevt.c | 13 + drivers/net/wireless/marvell/mwifiex/fw.h | 20 drivers/net/wireless/marvell/mwifiex/ioctl.h | 4 ++ drivers/net/wireless/marvell/mwifiex/main.h| 6 +++ drivers/net/wireless/marvell/mwifiex/sta_cmd.c | 19 +++ drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c | 3 ++ drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 16 ++ 8 files changed, 139 insertions(+) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index a1b8d89..c80d9e2 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -3316,6 +3316,64 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy, static int mwifiex_cfg80211_resume(struct wiphy *wiphy) { + struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); + struct mwifiex_private *priv = + mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA); + struct mwifiex_ds_wakeup_reason wakeup_reason; + struct cfg80211_wowlan_wakeup wakeup_report; + int i; + + mwifiex_get_wakeup_reason(priv, HostCmd_ACT_GEN_GET, MWIFIEX_SYNC_CMD, + &wakeup_reason); + memset(&wakeup_report, 0, sizeof(struct cfg80211_wowlan_wakeup)); + + wakeup_report.pattern_idx = -1; + + switch (wakeup_reason.hs_wakeup_reason) { + case NO_HSWAKEUP_REASON: + break; + case BCAST_DATA_MATCHED: + break; + case MCAST_DATA_MATCHED: + break; + case UCAST_DATA_MATCHED: + break; + case MASKTABLE_EVENT_MATCHED: + break; + case NON_MASKABLE_EVENT_MATCHED: + if (wiphy->wowlan_config->disconnect) + wakeup_report.disconnect = true; + if (wiphy->wowlan_config->nd_config) + wakeup_report.net_detect = adapter->nd_info; + break; + case NON_MASKABLE_CONDITION_MATCHED: + break; + case MAGIC_PATTERN_MATCHED: + if (wiphy->wowlan_config->magic_pkt) + wakeup_report.magic_pkt = true; + if (wiphy->wowlan_config->n_patterns) + wakeup_report.pattern_idx = 1; + break; + case CONTROL_FRAME_MATCHED: + break; + caseMANAGEMENT_FRAME_MATCHED: + break; + default: + break; + } + + if ((wakeup_reason.hs_wakeup_reason > 0) && + (wakeup_reason.hs_wakeup_reason <= 7)) + cfg80211_report_wowlan_wakeup(&priv->wdev, &wakeup_report, + GFP_KERNEL); + + if (adapter->nd_info) { + for (i = 0 ; i < adapter->nd_info->n_matches ; i++) + kfree(adapter->nd_info->matches[i]); + kfree(adapter->nd_info); + adapter->nd_info = NULL; + } + return 0; } diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wireless/marvell/mwifiex/cmdevt.c index cb25aa7..a12adee 100644 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c @@ -1657,3 +1657,16 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv, return 0; } + +/* This function handles the command response of hs wakeup reason + * command. + */ +int mwifiex_ret_wakeup_reason(struct mwifiex_private *priv, + struct host_cmd_ds_command *resp, + struct host_cmd_ds_wakeup_reason *wakeup_reason) +{ + wakeup_reason->wakeup_reason = + resp->params.hs_wakeup_reason.wakeup_reason; + + return 0; +} diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h b/drivers/net/wireless/marvell/mwifiex/fw.h index 81b491a..d293e48 100644 --- a/drivers/net/wireless/marvell/mwifiex/fw.h +++ b/drivers/net/wireless/marvell/mwifiex/fw.h @@ -373,6 +373,7 @@ enum MWIFIEX_802_11_PRIVACY_FILTER { #define HostCmd_CMD_MGMT_FRAME_REG0x010c #define HostCmd_CMD_REMAIN_ON_CHAN0x010d #define HostCmd_CMD_11AC_CFG 0x0112 +#define HostCmd_CMD_HS_WAKEUP_REASON 0x0116 #define HostCmd_CMD_TDLS_CONFIG 0x0100 #define HostCmd_CMD_MC_POLICY 0x0121 #define HostCmd_CMD_TDLS_OPER 0x0122 @@ -607,6 +608,20 @@ struct mwifiex_ie_types_data { #define MWIFIEX_RXPD_FLAGS_TDLS_PACKET 0x01 #define MWIFIEX_TXPD_FLAGS_REQ_TX_STATUS0x20 +enum HS_WAKEUP_REASON
[PATCH 1/6] mwifiex: add schedule scan support
From: Xinming Hu This patch add sched scan support for mwifiex, include cfg80211 sched_scan_start/sched_scan_stop handler, corresponding bgscan command path and event handler. Signed-off-by: Xinming Hu Signed-off-by: chunfan chen Signed-off-by: Cathy Luo Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/marvell/mwifiex/cfg80211.c| 134 +++ drivers/net/wireless/marvell/mwifiex/fw.h | 59 + drivers/net/wireless/marvell/mwifiex/ioctl.h | 1 + drivers/net/wireless/marvell/mwifiex/main.c| 7 + drivers/net/wireless/marvell/mwifiex/main.h| 10 + drivers/net/wireless/marvell/mwifiex/scan.c| 261 + drivers/net/wireless/marvell/mwifiex/sta_cmd.c | 4 + drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c | 3 + drivers/net/wireless/marvell/mwifiex/sta_event.c | 7 + drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 7 + 10 files changed, 493 insertions(+) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index e7adef7..c27c6cc 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -1962,6 +1962,9 @@ mwifiex_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, { struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev); + if (!mwifiex_stop_bg_scan(priv)) + cfg80211_sched_scan_stopped_rtnl(priv->wdev.wiphy); + if (mwifiex_deauthenticate(priv, NULL)) return -EFAULT; @@ -2217,6 +2220,9 @@ mwifiex_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev, "info: Trying to associate to %s and bssid %pM\n", (char *)sme->ssid, sme->bssid); + if (!mwifiex_stop_bg_scan(priv)) + cfg80211_sched_scan_stopped_rtnl(priv->wdev.wiphy); + ret = mwifiex_cfg80211_assoc(priv, sme->ssid_len, sme->ssid, sme->bssid, priv->bss_mode, sme->channel, sme, 0); if (!ret) { @@ -2420,6 +2426,9 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy, return -EBUSY; } + if (!mwifiex_stop_bg_scan(priv)) + cfg80211_sched_scan_stopped_rtnl(priv->wdev.wiphy); + user_scan_cfg = kzalloc(sizeof(*user_scan_cfg), GFP_KERNEL); if (!user_scan_cfg) return -ENOMEM; @@ -2487,6 +2496,121 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy, return 0; } +/* CFG802.11 operation handler for sched_scan_start. + * + * This function issues a bgscan config request to the firmware based upon + * the user specified sched_scan configuration. On successful completion, + * firmware will generate BGSCAN_REPORT event, driver should issue bgscan + * query command to get sched_scan results from firmware. + */ +static int +mwifiex_cfg80211_sched_scan_start(struct wiphy *wiphy, + struct net_device *dev, + struct cfg80211_sched_scan_request *request) +{ + struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev); + int i, offset; + struct ieee80211_channel *chan; + struct mwifiex_bg_scan_cfg *bgscan_cfg; + struct ieee_types_header *ie; + + if (!request || (!request->n_ssids && !request->n_match_sets)) { + wiphy_err(wiphy, "%s : Invalid Sched_scan parameters", + __func__); + return -EINVAL; + } + + wiphy_info(wiphy, "sched_scan start : n_ssids=%d n_match_sets=%d ", + request->n_ssids, request->n_match_sets); + wiphy_info(wiphy, "n_channels=%d interval=%d ie_len=%d\n", + request->n_channels, request->scan_plans->interval, + (int)request->ie_len); + + bgscan_cfg = kzalloc(sizeof(*bgscan_cfg), GFP_KERNEL); + if (!bgscan_cfg) + return -ENOMEM; + + if (priv->scan_request || priv->scan_aborting) + bgscan_cfg->start_later = true; + + bgscan_cfg->num_ssids = request->n_match_sets; + bgscan_cfg->ssid_list = request->match_sets; + + if (request->ie && request->ie_len) { + offset = 0; + for (i = 0; i < MWIFIEX_MAX_VSIE_NUM; i++) { + if (priv->vs_ie[i].mask != MWIFIEX_VSIE_MASK_CLEAR) + continue; + priv->vs_ie[i].mask = MWIFIEX_VSIE_MASK_BGSCAN; + ie = (struct ieee_types_header *)(request->ie + offset); + memcpy(&priv->vs_ie[i].ie, ie, sizeof(*ie) + ie->len); + offset += sizeof(*ie) + ie->len; + + if (offset >= request->ie_len) + break; + } + } + + for (i = 0; i < min_t(u32, request->n_channels, + MWIFIEX_BG_SCAN_CHAN_MAX); i++) { + chan = requ
[PATCH 6/6] mwifiex: use SYNC flag for canceling host sleep
Host sleep is cancelled in sdio resume() handler. Cfg80211's resume handler is immediately called after this. SYNC flag here ensures that host sleep handshake gets completed and we have valid "adapter->nd_config" before we report host wakeup reason in cfg80211's resume handler. Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/marvell/mwifiex/sdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c index ec1e8c3..031c599 100644 --- a/drivers/net/wireless/marvell/mwifiex/sdio.c +++ b/drivers/net/wireless/marvell/mwifiex/sdio.c @@ -181,7 +181,7 @@ static int mwifiex_sdio_resume(struct device *dev) /* Disable Host Sleep */ mwifiex_cancel_hs(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA), - MWIFIEX_ASYNC_CMD); + MWIFIEX_SYNC_CMD); return 0; } -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/6] mwifiex: add wowlan info messages
From: chunfan chen This patch adds informative messages in wake up on magic packet, disconnect, pattern configuration paths. Signed-off-by: chunfan chen Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index c27c6cc..6d36d08 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -3171,10 +3171,12 @@ static int mwifiex_set_wowlan_mef_entry(struct mwifiex_private *priv, sizeof(byte_seq)); mef_entry->filter[filt_num].filt_type = TYPE_EQ; - if (first_pat) + if (first_pat) { first_pat = false; - else + mwifiex_dbg(priv->adapter, INFO, "Wake on patterns\n"); + } else { mef_entry->filter[filt_num].filt_action = TYPE_AND; + } filt_num++; } @@ -3200,6 +3202,7 @@ static int mwifiex_set_wowlan_mef_entry(struct mwifiex_private *priv, mef_entry->filter[filt_num].offset = 56; mef_entry->filter[filt_num].filt_type = TYPE_EQ; mef_entry->filter[filt_num].filt_action = TYPE_OR; + mwifiex_dbg(priv->adapter, INFO, "Wake on magic packet\n"); } return ret; } @@ -3295,6 +3298,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy, "Failed to set HS params\n"); return ret; } + mwifiex_dbg(priv->adapter, INFO, "Wake on device disconnect\n"); } return ret; -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 5/6] mwifiex: add RSSI support for net-detect
From: Ganapathi Bhat This patch adds support for waking up the device on finding better RSSI. Threshold RSSI value will be configured by application. Signed-off-by: Ganapathi Bhat Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 4 drivers/net/wireless/marvell/mwifiex/fw.h | 5 + drivers/net/wireless/marvell/mwifiex/scan.c | 15 +++ 3 files changed, 24 insertions(+) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index c80d9e2..8461553 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -2582,6 +2582,10 @@ mwifiex_cfg80211_sched_scan_start(struct wiphy *wiphy, bgscan_cfg->bss_type = MWIFIEX_BSS_MODE_INFRA; bgscan_cfg->action = MWIFIEX_BGSCAN_ACT_SET; bgscan_cfg->enable = true; + if (request->min_rssi_thold != NL80211_SCAN_RSSI_THOLD_OFF) { + bgscan_cfg->report_condition |= MWIFIEX_BGSCAN_SSID_RSSI_MATCH; + bgscan_cfg->rssi_threshold = request->min_rssi_thold; + } if (mwifiex_send_cmd(priv, HostCmd_CMD_802_11_BG_SCAN_CONFIG, HostCmd_ACT_GEN_SET, 0, bgscan_cfg, true)) { diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h b/drivers/net/wireless/marvell/mwifiex/fw.h index d293e48..4af9168 100644 --- a/drivers/net/wireless/marvell/mwifiex/fw.h +++ b/drivers/net/wireless/marvell/mwifiex/fw.h @@ -759,6 +759,11 @@ struct mwifiex_ie_types_repeat_count { __le16 repeat_count; } __packed; +struct mwifiex_ie_types_min_rssi_threshold { + struct mwifiex_ie_types_header header; + __le16 rssi_threshold; +} __packed; + struct mwifiex_ie_types_bgscan_start_later { struct mwifiex_ie_types_header header; __le16 start_later; diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c index 0a85b05..6fdb40f 100644 --- a/drivers/net/wireless/marvell/mwifiex/scan.c +++ b/drivers/net/wireless/marvell/mwifiex/scan.c @@ -2258,6 +2258,7 @@ int mwifiex_cmd_802_11_bg_scan_config(struct mwifiex_private *priv, int i; struct mwifiex_ie_types_num_probes *num_probes_tlv; struct mwifiex_ie_types_repeat_count *repeat_count_tlv; + struct mwifiex_ie_types_min_rssi_threshold *rssi_threshold_tlv; struct mwifiex_ie_types_bgscan_start_later *start_later_tlv; struct mwifiex_ie_types_wildcard_ssid_params *wildcard_ssid_tlv; struct mwifiex_ie_types_chan_list_param_set *chan_list_tlv; @@ -2308,6 +2309,20 @@ int mwifiex_cmd_802_11_bg_scan_config(struct mwifiex_private *priv, le16_to_cpu(repeat_count_tlv->header.len); } + if (bgscan_cfg_in->rssi_threshold) { + rssi_threshold_tlv = + (struct mwifiex_ie_types_min_rssi_threshold *)tlv_pos; + rssi_threshold_tlv->header.type = + cpu_to_le16(TLV_TYPE_RSSI_LOW); + rssi_threshold_tlv->header.len = + cpu_to_le16(sizeof(rssi_threshold_tlv->rssi_threshold)); + rssi_threshold_tlv->rssi_threshold = + cpu_to_le16(bgscan_cfg_in->rssi_threshold); + + tlv_pos += sizeof(rssi_threshold_tlv->header) + + le16_to_cpu(rssi_threshold_tlv->header.len); + } + for (i = 0; i < bgscan_cfg_in->num_ssids; i++) { ssid_len = bgscan_cfg_in->ssid_list[i].ssid.ssid_len; -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/4] mwifiex: enable pcie MSIx interrupt mode support
Amitkumar Karwar writes: > From: Xinming Hu > > Newer pcie chipsets (8997 onwards) support MSIx. This > patch enables it. > > Signed-off-by: Xinming Hu > Signed-off-by: Amitkumar Karwar I have dropped this patch, please resend once the build issue is solved. -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [v2] mwifiex: correctly handling kzalloc
> Since kzalloc can be failed in memory pressure, > it needs to be handled, otherwise NULL dereference could be happened > > Signed-off-by: Insu Yun Thanks, applied to wireless-drivers-next.git. Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v4 3/3] wlcore/wl12xx: spi: add wifi support to cm-t335
Uri Mashiach writes: > Device tree modifications: > - Pinmux for SPI0 and WiFi GPIOs. > - SPI0 node with wlcore as a child node. > > Cc: Tony Lindgren > Signed-off-by: Uri Mashiach > --- > v1 -> v2: Replace interrupts and interrupt-parent with interrupts-extended. > v2 -> v3: Move the pinctrl-0 = <&wifi_pins> to the wlcore node. > v3 -> v4: replace interrupts-extended with interrupts and interrupt-parent. > (revert v2 modification). > According to Rob Herring and > Documentation/devicetree/bindings/interrupt-controller/interrupts.txt, > interrupts-extended should only be used when a device has multiple > interrupt parents. > > arch/arm/boot/dts/am335x-cm-t335.dts | 55 > > 1 file changed, 55 insertions(+) To what tree should this patch go? My wireless-drivers-next tree doesn't even have this file. https://patchwork.kernel.org/patch/7933441/ -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html