Updating libertas wireless driver to latest version.
[openwrt/svn-archive/archive.git] / package / libertas / src / join.c
index 14425d9a198a97f6a6e58a987fed70d03a8fc334..2d4508048b68fe38029dd3d82156dad73aaa44ab 100644 (file)
@@ -781,8 +781,8 @@ int lbs_ret_80211_associate(struct lbs_private *priv,
        priv->numSNRNF = 0;
 
        netif_carrier_on(priv->dev);
-       netif_wake_queue(priv->dev);
-
+       if (!priv->tx_pending_len)
+               netif_wake_queue(priv->dev);
 
        memcpy(wrqu.ap_addr.sa_data, priv->curbssparams.bssid, ETH_ALEN);
        wrqu.ap_addr.sa_family = ARPHRD_ETHER;
@@ -865,7 +865,8 @@ int lbs_ret_80211_ad_hoc_start(struct lbs_private *priv,
        priv->curbssparams.ssid_len = bss->ssid_len;
 
        netif_carrier_on(priv->dev);
-       netif_wake_queue(priv->dev);
+       if (!priv->tx_pending_len)
+               netif_wake_queue(priv->dev);
 
        memset(&wrqu, 0, sizeof(wrqu));
        memcpy(wrqu.ap_addr.sa_data, priv->curbssparams.bssid, ETH_ALEN);