Changeset 19056


Ignore:
Timestamp:
2010-01-06T19:43:01+01:00 (8 years ago)
Author:
nbd
Message:

mac80211: merge some further fixes to the queue stop patch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/550-queue_stop_fix.patch

    r19045 r19056  
    1616 /** 
    1717  * DOC: Interface list locking 
     18@@ -314,7 +316,7 @@ static int ieee80211_open(struct net_dev 
     19        if (sdata->vif.type == NL80211_IFTYPE_STATION) 
     20                ieee80211_queue_work(&local->hw, &sdata->u.mgd.work); 
     21  
     22-       netif_start_queue(dev); 
     23+       netif_tx_start_all_queues(dev); 
     24  
     25        return 0; 
     26  err_del_interface: 
     27@@ -343,7 +345,7 @@ static int ieee80211_stop(struct net_dev 
     28        /* 
     29         * Stop TX on this interface first. 
     30         */ 
     31-       netif_stop_queue(dev); 
     32+       netif_tx_stop_all_queues(dev); 
     33  
     34        /* 
     35         * Now delete all active aggregation sessions. 
    1836@@ -644,6 +646,37 @@ static void ieee80211_teardown_sdata(str 
    1937        WARN_ON(flushed); 
     
    5876        .ndo_change_mtu         = ieee80211_change_mtu, 
    5977        .ndo_set_mac_address    = eth_mac_addr, 
    60 +       .ndo_select_queue       = ieee80211_monitor_select_queue, 
     78+       .ndo_select_queue       = ieee80211_netdev_select_queue, 
    6179 }; 
    6280  
     
    238256-               /* use AC from radiotap */ 
    239257+       if (!sta && ra && !is_multicast_ether_addr(ra)) { 
    240 +               sta = sta_info_get(sdata, ra); 
     258+               sta = sta_info_get(sdata->local, ra); 
    241259+               if (sta) 
    242260+                       sta_flags = get_sta_flags(sta); 
     
    321339  
    322340 #endif /* _WME_H */ 
     341--- a/net/mac80211/mlme.c 
     342+++ b/net/mac80211/mlme.c 
     343@@ -934,7 +934,7 @@ static void ieee80211_set_associated(str 
     344        ieee80211_recalc_ps(local, -1); 
     345        mutex_unlock(&local->iflist_mtx); 
     346  
     347-       netif_start_queue(sdata->dev); 
     348+       netif_tx_start_all_queues(sdata->dev); 
     349        netif_carrier_on(sdata->dev); 
     350 } 
     351  
     352@@ -1066,7 +1066,7 @@ static void ieee80211_set_disassoc(struc 
     353         * time -- we don't want the scan code to enable queues. 
     354         */ 
     355  
     356-       netif_stop_queue(sdata->dev); 
     357+       netif_tx_stop_all_queues(sdata->dev); 
     358        netif_carrier_off(sdata->dev); 
     359  
     360        rcu_read_lock(); 
     361--- a/net/mac80211/scan.c 
     362+++ b/net/mac80211/scan.c 
     363@@ -399,7 +399,7 @@ static int ieee80211_start_sw_scan(struc 
     364                 * are handled in the scan state machine 
     365                 */ 
     366                if (sdata->vif.type != NL80211_IFTYPE_STATION) 
     367-                       netif_stop_queue(sdata->dev); 
     368+                       netif_tx_stop_all_queues(sdata->dev); 
     369        } 
     370        mutex_unlock(&local->iflist_mtx); 
     371  
     372@@ -563,7 +563,7 @@ static void ieee80211_scan_state_leave_o 
     373                        continue; 
     374  
     375                if (sdata->vif.type == NL80211_IFTYPE_STATION) { 
     376-                       netif_stop_queue(sdata->dev); 
     377+                       netif_tx_stop_all_queues(sdata->dev); 
     378                        if (sdata->u.mgd.associated) 
     379                                ieee80211_scan_ps_enable(sdata); 
     380                } 
Note: See TracChangeset for help on using the changeset viewer.