mwifiex: process TX even when scan is ongoing
authorAvinash Patil <patila@marvell.com>
Fri, 12 Sep 2014 14:38:56 +0000 (20:08 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 15 Sep 2014 19:00:52 +0000 (15:00 -0400)
With channel scan gap, FW comes back to connected channel after each
single channel scan. So we can safely transfer data to FW during scan.
FW would send this data once on connected channel.

Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/main.c

index dfa37ea..d6d2342 100644 (file)
@@ -284,8 +284,9 @@ process_start:
                            adapter->tx_lock_flag)
                                break;
 
-                       if ((adapter->scan_processing &&
-                            !adapter->scan_delay_cnt) || adapter->data_sent ||
+                       if ((!adapter->scan_chan_gap_enabled &&
+                            !adapter->scan_delay_cnt &&
+                            adapter->scan_processing) || adapter->data_sent ||
                            mwifiex_wmm_lists_empty(adapter)) {
                                if (adapter->cmd_sent || adapter->curr_cmd ||
                                    (!is_command_pending(adapter)))
@@ -339,7 +340,8 @@ process_start:
                        }
                }
 
-               if ((!adapter->scan_processing || adapter->scan_delay_cnt) &&
+               if ((adapter->scan_chan_gap_enabled ||
+                    (!adapter->scan_processing || adapter->scan_delay_cnt)) &&
                    !adapter->data_sent && !mwifiex_wmm_lists_empty(adapter)) {
                        mwifiex_wmm_process_tx(adapter);
                        if (adapter->hs_activated) {