mwifiex: disable channel filtering feature in firmware
authorAmitkumar Karwar <akarwar@marvell.com>
Mon, 25 Apr 2016 06:49:51 +0000 (23:49 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 27 Apr 2016 13:52:55 +0000 (16:52 +0300)
As 2.4Ghz channels are overlapping, sometimes AP responds to
probe request even if it's operating on neighbouring channel.
Currently firmware drops those scan entries, as current channel
doesn't match with APs channel.

This patch enables MWIFIEX_DISABLE_CHAN_FILT flag in scan
command to disable the feature so that better scan results
will be received in 2.4Ghz band.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/marvell/mwifiex/scan.c

index 36cc9cc..bc5e52c 100644 (file)
@@ -498,11 +498,13 @@ mwifiex_scan_create_channel_list(struct mwifiex_private *priv,
                                        &= ~MWIFIEX_PASSIVE_SCAN;
                        scan_chan_list[chan_idx].chan_number =
                                                        (u32) ch->hw_value;
+
+                       scan_chan_list[chan_idx].chan_scan_mode_bitmap
+                                       |= MWIFIEX_DISABLE_CHAN_FILT;
+
                        if (filtered_scan) {
                                scan_chan_list[chan_idx].max_scan_time =
                                cpu_to_le16(adapter->specific_scan_time);
-                               scan_chan_list[chan_idx].chan_scan_mode_bitmap
-                                       |= MWIFIEX_DISABLE_CHAN_FILT;
                        }
                        chan_idx++;
                }
@@ -1060,9 +1062,8 @@ mwifiex_config_scan(struct mwifiex_private *priv,
                                scan_chan_list[chan_idx].chan_scan_mode_bitmap
                                        &= ~MWIFIEX_PASSIVE_SCAN;
 
-                       if (*filtered_scan)
-                               scan_chan_list[chan_idx].chan_scan_mode_bitmap
-                                       |= MWIFIEX_DISABLE_CHAN_FILT;
+                       scan_chan_list[chan_idx].chan_scan_mode_bitmap
+                               |= MWIFIEX_DISABLE_CHAN_FILT;
 
                        if (user_scan_in->chan_list[chan_idx].scan_time) {
                                scan_dur = (u16) user_scan_in->