Application triggers periodic background scans when device is connected.
We will scan less number of channels per scan command so that data
traffic won't get affected.

Signed-off-by: Amitkumar Karwar <[email protected]>
---
 drivers/net/wireless/marvell/mwifiex/scan.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c 
b/drivers/net/wireless/marvell/mwifiex/scan.c
index 1816916..8295a05 100644
--- a/drivers/net/wireless/marvell/mwifiex/scan.c
+++ b/drivers/net/wireless/marvell/mwifiex/scan.c
@@ -989,10 +989,15 @@ enum cipher_suite {
         *  If a specific BSSID or SSID is used, the number of channels in the
         *  scan command will be increased to the absolute maximum.
         */
-       if (*filtered_scan)
+       if (*filtered_scan) {
                *max_chan_per_scan = MWIFIEX_MAX_CHANNELS_PER_SPECIFIC_SCAN;
-       else
-               *max_chan_per_scan = MWIFIEX_DEF_CHANNELS_PER_SCAN_CMD;
+       } else {
+               if (!priv->media_connected)
+                       *max_chan_per_scan = MWIFIEX_DEF_CHANNELS_PER_SCAN_CMD;
+               else
+                       *max_chan_per_scan =
+                                       MWIFIEX_DEF_CHANNELS_PER_SCAN_CMD / 2;
+       }
 
        if (adapter->ext_scan) {
                bss_mode = (struct mwifiex_ie_types_bss_mode *)tlv_pos;
-- 
1.9.1

Reply via email to