source: trunk/package/madwifi/patches/372-queue_vif.patch @ 13096

Last change on this file since 13096 was 13096, checked in by nbd, 7 years ago

madwifi: fix noderef and state machine issues in the currently unused ap-to-ap wds mode; refresh patches

File size: 1.3 KB
  • net80211/ieee80211_input.c

    a b ieee80211_deliver_data(struct ieee80211_ 
    11971197                } 
    11981198                if (skb1 != NULL) { 
    11991199                        struct ieee80211_node *ni_tmp; 
     1200                        int ret; 
    12001201                        skb1->dev = dev; 
    12011202                        skb_reset_mac_header(skb1); 
    12021203                        skb_set_network_header(skb1, sizeof(struct ether_header)); 
    ieee80211_deliver_data(struct ieee80211_ 
    12041205                        skb1->protocol = __constant_htons(ETH_P_802_2); 
    12051206                        /* XXX insert vlan tag before queue it? */ 
    12061207                        ni_tmp = SKB_CB(skb1)->ni; /* remember node so we can free it */ 
    1207                         if (dev_queue_xmit(skb1) == NET_XMIT_DROP) { 
     1208                        ret = dev->hard_start_xmit(skb1, dev); 
     1209 
     1210                        if (ret == NETDEV_TX_BUSY) 
     1211                                ieee80211_dev_kfree_skb(&skb1); 
     1212 
     1213                        else if (ret != NETDEV_TX_OK) { 
    12081214                                /* If queue dropped the packet because device was 
    12091215                                 * too busy */ 
    12101216                                vap->iv_devstats.tx_dropped++; 
  • net80211/ieee80211_output.c

    a b void ieee80211_parent_queue_xmit(struct  
    324324        /* Dispatch the packet to the parent device */ 
    325325        skb->dev = vap->iv_ic->ic_dev; 
    326326 
    327         if (dev_queue_xmit(skb) == NET_XMIT_DROP) 
     327        if (netif_queue_stopped(skb->dev)) 
     328                ieee80211_dev_kfree_skb(&skb); 
     329        else if (dev_queue_xmit(skb) == NET_XMIT_DROP) 
    328330                vap->iv_devstats.tx_dropped++; 
    329  
    330331} 
    331332 
    332333/* 
Note: See TracBrowser for help on using the repository browser.