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 dfa37eadc4db566ecc75db890c838d8d04600917..d6d2342ffbacf495c411361cb0119f854e4419ab 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) {