|
@@ -54,7 +54,7 @@ int mwifiex_copy_mcast_addr(struct mwifiex_multicast_list *mlist,
|
|
|
int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter)
|
|
|
{
|
|
|
bool cancel_flag = false;
|
|
|
- int status = adapter->cmd_wait_q.status;
|
|
|
+ int status;
|
|
|
struct cmd_ctrl_node *cmd_queued;
|
|
|
|
|
|
if (!adapter->cmd_queued)
|
|
@@ -79,6 +79,8 @@ int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter)
|
|
|
mwifiex_cancel_pending_ioctl(adapter);
|
|
|
dev_dbg(adapter->dev, "cmd cancel\n");
|
|
|
}
|
|
|
+
|
|
|
+ status = adapter->cmd_wait_q.status;
|
|
|
adapter->cmd_wait_q.status = 0;
|
|
|
|
|
|
return status;
|
|
@@ -240,6 +242,8 @@ int mwifiex_bss_start(struct mwifiex_private *priv, struct cfg80211_bss *bss,
|
|
|
|
|
|
if (!netif_queue_stopped(priv->netdev))
|
|
|
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
|
|
|
+ if (netif_carrier_ok(priv->netdev))
|
|
|
+ netif_carrier_off(priv->netdev);
|
|
|
|
|
|
/* Clear any past association response stored for
|
|
|
* application retrieval */
|
|
@@ -271,6 +275,8 @@ int mwifiex_bss_start(struct mwifiex_private *priv, struct cfg80211_bss *bss,
|
|
|
|
|
|
if (!netif_queue_stopped(priv->netdev))
|
|
|
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
|
|
|
+ if (netif_carrier_ok(priv->netdev))
|
|
|
+ netif_carrier_off(priv->netdev);
|
|
|
|
|
|
if (!ret) {
|
|
|
dev_dbg(adapter->dev, "info: network found in scan"
|