Changeset 3075

Show
Ignore:
Timestamp:
12/23/07 21:11:05 (4 years ago)
Author:
mentor
Message:

Have net80211 hard_start functions return NETDEV_TX_* codes; tidy some headers in the process.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • madwifi/trunk/net80211/ieee80211_input.c

    r3069 r3075  
    37323732        M_PWR_SAV_SET(skb);             /* ensure MORE_DATA bit is set correctly */ 
    37333733 
    3734         ieee80211_parent_queue_xmit(skb);     /* Submit to parent device, including updating stats */ 
     3734        (void)ieee80211_parent_queue_xmit(skb);       /* Submit to parent device, including updating stats */ 
    37353735} 
    37363736 
  • madwifi/trunk/net80211/ieee80211_output.c

    r3074 r3075  
    233233        if (vap->iv_opmode == IEEE80211_M_MONITOR) { 
    234234                ieee80211_monitor_encap(vap, skb); 
    235                 ieee80211_parent_queue_xmit(skb); 
    236                 return 0; 
     235                return ieee80211_parent_queue_xmit(skb); 
    237236        } 
    238237         
     
    249248        else 
    250249                ni = ieee80211_find_txnode(vap, eh->ether_dhost); 
    251  
    252250        if (ni == NULL) { 
    253251                /* NB: ieee80211_find_txnode does stat+msg */ 
    254252                goto bad; 
    255253        } 
     254 
    256255        /* calculate priority so drivers can find the TX queue */ 
    257256        if (ieee80211_classify(ni, skb)) { 
     
    269268                M_FLAG_SET(skb, M_UAPSD); 
    270269        } else if ((ni->ni_flags & IEEE80211_NODE_PWR_MGT)) { 
    271                 /* 
    272                  * Station in power save mode; stick the frame 
     270                /* Station in power save mode; stick the frame 
    273271                 * on the STA's power save queue and continue. 
    274                  * We'll get the frame back when the time is right. 
    275                  */ 
    276                 ieee80211_pwrsave(ni, skb); 
     272                 * We'll get the frame back when the time is right. */ 
    277273                ieee80211_unref_node(&ni); 
    278                 return 0
     274                return ieee80211_pwrsave(skb)
    279275        } 
    280276 
     
    294290                        SKB_CB(skb1)->ni = ieee80211_find_txnode(vap->iv_xrvap,  
    295291                                                       eh->ether_dhost); 
    296                         ieee80211_parent_queue_xmit(skb1); 
     292                        /* Ignore this return code. */ 
     293                        (void)ieee80211_parent_queue_xmit(skb1); 
    297294                } 
    298295        } 
    299296#endif 
    300         ieee80211_parent_queue_xmit(skb); 
    301297        ieee80211_unref_node(&ni); 
    302         return 0
     298        return ieee80211_parent_queue_xmit(skb)
    303299 
    304300bad: 
     
    310306} 
    311307 
    312 void ieee80211_parent_queue_xmit(struct sk_buff *skb) { 
     308int ieee80211_parent_queue_xmit(struct sk_buff *skb) { 
    313309        struct ieee80211vap *vap = skb->dev->priv; 
     310        int ret; 
    314311 
    315312        vap->iv_devstats.tx_packets++; 
     
    320317        skb->dev = vap->iv_ic->ic_dev; 
    321318 
    322         if (dev_queue_xmit(skb) == NET_XMIT_DROP) 
     319        if ((ret = dev_queue_xmit(skb)) == NET_XMIT_DROP) 
    323320                vap->iv_devstats.tx_dropped++; 
     321 
     322        return ret; 
    324323} 
    325324 
  • madwifi/trunk/net80211/ieee80211_power.c

    r3074 r3075  
    5353#include <net80211/ieee80211_proto.h> 
    5454 
     55#ifndef NETDEV_TX_OK 
     56#define NETDEV_TX_OK    0 
     57#define NETDEV_TX_BUSY  1 
     58#endif 
     59 
    5560static void ieee80211_set_tim(struct ieee80211_node *ni, int set); 
    5661 
     
    206211 * is changed, if necessary. 
    207212 */ 
    208 void 
    209 ieee80211_pwrsave(struct ieee80211_node *ni, struct sk_buff *skb) 
    210 
     213int 
     214ieee80211_pwrsave(struct sk_buff *skb) 
     215
     216        struct ieee80211_node *ni = SKB_CB(skb)->ni; 
    211217        struct ieee80211vap *vap = ni->ni_vap; 
    212218        struct ieee80211com *ic = ni->ni_ic; 
     
    227233                ieee80211_unref_node(&SKB_CB(skb)->ni); 
    228234                ieee80211_dev_kfree_skb(&skb); 
    229                 return
     235                return NETDEV_TX_BUSY
    230236        } 
    231237 
     
    254260        if (qlen == 1 && vap->iv_set_tim != NULL) 
    255261                vap->iv_set_tim(ni, 1); 
     262 
     263        return NETDEV_TX_OK; 
    256264} 
    257265 
     
    332340#endif 
    333341 
    334                         ieee80211_parent_queue_xmit(skb); 
     342                        (void)ieee80211_parent_queue_xmit(skb); 
    335343                } 
    336344                vap->iv_set_tim(ni, 0); 
     
    373381                                if (skb == NULL) 
    374382                                        break; 
    375                                 ieee80211_parent_queue_xmit(skb); 
     383                                (void)ieee80211_parent_queue_xmit(skb); 
    376384                        } 
    377385                } 
  • madwifi/trunk/net80211/ieee80211_power.h

    r1441 r3075  
    4848int     ieee80211_node_saveq_drain(struct ieee80211_node *); 
    4949int     ieee80211_node_saveq_age(struct ieee80211_node *); 
    50 void   ieee80211_pwrsave(struct ieee80211_node *, struct sk_buff *); 
     50int    ieee80211_pwrsave(struct sk_buff *); 
    5151void    ieee80211_node_pwrsave(struct ieee80211_node *, int); 
    5252void    ieee80211_sta_pwrsave(struct ieee80211vap *, int); 
  • madwifi/trunk/net80211/ieee80211_proto.h

    r3069 r3075  
    7272void ieee80211_recv_mgmt(struct ieee80211_node *, struct sk_buff *, 
    7373        int, int, u_int64_t); 
    74 void ieee80211_sta_pwrsave(struct ieee80211vap *, int); 
    7574int ieee80211_hardstart(struct sk_buff *, struct net_device *); 
    76 void ieee80211_parent_queue_xmit(struct sk_buff *); 
     75int ieee80211_parent_queue_xmit(struct sk_buff *); 
    7776int ieee80211_send_nulldata(struct ieee80211_node *); 
    7877int ieee80211_send_qosnulldata(struct ieee80211_node *, int); 
     
    8483        const u_int8_t *, size_t, const void *, size_t); 
    8584struct sk_buff *ieee80211_encap(struct ieee80211_node *, struct sk_buff *, int *); 
    86 void ieee80211_pwrsave(struct ieee80211_node *, struct sk_buff *); 
    8785 
    8886void ieee80211_reset_erp(struct ieee80211com *, enum ieee80211_phymode);