rsi: block/unblock data queues as per connection status
authorPrameela Rani Garnepudi <prameela.j04cs@gmail.com>
Mon, 10 Jul 2017 12:40:44 +0000 (18:10 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 28 Jul 2017 14:25:43 +0000 (17:25 +0300)
Data queues should be unblocked after station add notify frame
is sent and should be blocked after station delete notify is sent.

Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>
Signed-off-by: Amitkumar Karwar <amit.karwar@redpinesignals.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rsi/rsi_91x_mgmt.c

index 77b6757..64bbd0a 100644 (file)
@@ -1250,6 +1250,7 @@ void rsi_inform_bss_status(struct rsi_common *common,
                           u16 aid)
 {
        if (status) {
+               common->hw_data_qs_blocked = true;
                rsi_hal_send_sta_notify_frame(common,
                                              RSI_IFTYPE_STATION,
                                              STA_CONNECTED,
@@ -1258,13 +1259,17 @@ void rsi_inform_bss_status(struct rsi_common *common,
                                              aid);
                if (common->min_rate == 0xffff)
                        rsi_send_auto_rate_request(common);
+               if (!rsi_send_block_unblock_frame(common, false))
+                       common->hw_data_qs_blocked = false;
        } else {
+               common->hw_data_qs_blocked = true;
                rsi_hal_send_sta_notify_frame(common,
                                              RSI_IFTYPE_STATION,
                                              STA_DISCONNECTED,
                                              bssid,
                                              qos_enable,
                                              aid);
+               rsi_send_block_unblock_frame(common, true);
        }
 }