Two more places where running out of txbuf should cause requeue
authormtaylor <mtaylor@0192ed92-7a03-0410-a25b-9323aeb14dbd>
Fri, 18 Jan 2008 22:01:03 +0000 (22:01 +0000)
committermtaylor <mtaylor@0192ed92-7a03-0410-a25b-9323aeb14dbd>
Fri, 18 Jan 2008 22:01:03 +0000 (22:01 +0000)
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3211 0192ed92-7a03-0410-a25b-9323aeb14dbd

ath/if_ath.c

index bd95a1c6abcfc115a3002fd134a61ec8a519cee1..3f2a09924a10998ed4c7840d733ed69269b74d0f 100644 (file)
@@ -3069,8 +3069,10 @@ ath_hardstart(struct sk_buff *skb, struct net_device *dev)
 
        if (SKB_CB(skb)->flags & M_RAW) {
                bf = ath_take_txbuf(sc);
-               if (bf == NULL)
+               if (bf == NULL) {
+                       requeue = 1;
                        goto hardstart_fail;
+               }
                ath_tx_startraw(dev, bf, skb);
                return NETDEV_TX_OK;
        }
@@ -3087,8 +3089,10 @@ ath_hardstart(struct sk_buff *skb, struct net_device *dev)
        if (M_FLAG_GET(skb, M_UAPSD)) {
                /* bypass FF handling */
                bf = ath_take_txbuf(sc);
-               if (bf == NULL)
+               if (bf == NULL) {
+                       requeue = 1;
                        goto hardstart_fail;
+               }
                goto ff_bypass;
        }