Johannes Berg wrote: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > The return value of the tx operation is commonly > misused by drivers, leading to errors. All drivers > will drop frames if they fail to TX the frame, and > they must also properly manage the queues (if they > didn't, mac80211 would already warn). > > Removing the ability for drivers to return a BUSY > value also allows significant cleanups of the TX > TX handling code in mac80211. > > NB: Also fixes a bug in ath9k_htc. [snip] > --- wireless-testing.orig/drivers/net/wireless/ath/ath9k/htc_drv_main.c 2011-02-15 13:53:38.000000000 +0100 > +++ wireless-testing/drivers/net/wireless/ath/ath9k/htc_drv_main.c 2011-02-15 13:55:02.000000000 +0100 > @@ -903,7 +903,7 @@ set_timer: > /* mac80211 Callbacks */ > /**********************/ > > -static int ath9k_htc_tx(struct ieee80211_hw *hw, struct sk_buff *skb) > +static void ath9k_htc_tx(struct ieee80211_hw *hw, struct sk_buff *skb) > { > struct ieee80211_hdr *hdr; > struct ath9k_htc_priv *priv = hw->priv; > @@ -916,7 +916,7 @@ static int ath9k_htc_tx(struct ieee80211 > padsize = padpos & 3; > if (padsize && skb->len > padpos) { > if (skb_headroom(skb) < padsize) > - return -1; > + goto fail_tx; > skb_push(skb, padsize); > memmove(skb->data, skb->data + padsize, padpos); > } > @@ -937,11 +937,10 @@ static int ath9k_htc_tx(struct ieee80211 > goto fail_tx; > } > > - return 0; > + return; > > fail_tx: > dev_kfree_skb_any(skb); > - return 0; > } No problems with this change for ath9k_htc, but if required I can send this as a separate patch... Sujith -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html