diff options
Diffstat (limited to 'drivers/net/wireless/mwifiex/uap_event.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/uap_event.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/uap_event.c b/drivers/net/wireless/mwifiex/uap_event.c index a33fa394e349..21c640d3b579 100644 --- a/drivers/net/wireless/mwifiex/uap_event.c +++ b/drivers/net/wireless/mwifiex/uap_event.c | |||
@@ -235,11 +235,18 @@ int mwifiex_process_uap_event(struct mwifiex_private *priv) | |||
235 | break; | 235 | break; |
236 | case EVENT_UAP_BSS_IDLE: | 236 | case EVENT_UAP_BSS_IDLE: |
237 | priv->media_connected = false; | 237 | priv->media_connected = false; |
238 | if (netif_carrier_ok(priv->netdev)) | ||
239 | netif_carrier_off(priv->netdev); | ||
240 | mwifiex_stop_net_dev_queue(priv->netdev, adapter); | ||
241 | |||
238 | mwifiex_clean_txrx(priv); | 242 | mwifiex_clean_txrx(priv); |
239 | mwifiex_del_all_sta_list(priv); | 243 | mwifiex_del_all_sta_list(priv); |
240 | break; | 244 | break; |
241 | case EVENT_UAP_BSS_ACTIVE: | 245 | case EVENT_UAP_BSS_ACTIVE: |
242 | priv->media_connected = true; | 246 | priv->media_connected = true; |
247 | if (!netif_carrier_ok(priv->netdev)) | ||
248 | netif_carrier_on(priv->netdev); | ||
249 | mwifiex_wake_up_net_dev_queue(priv->netdev, adapter); | ||
243 | break; | 250 | break; |
244 | case EVENT_UAP_BSS_START: | 251 | case EVENT_UAP_BSS_START: |
245 | dev_dbg(adapter->dev, "AP EVENT: event id: %#x\n", eventcause); | 252 | dev_dbg(adapter->dev, "AP EVENT: event id: %#x\n", eventcause); |