On Wed, 2009-03-25 at 18:21 -0700, Luis R. Rodriguez wrote: > > -static int __ieee80211_tx(struct ieee80211_local *local, struct sk_buff *skb, > > +static int __ieee80211_tx(struct ieee80211_local *local, > > struct ieee80211_tx_data *tx) > > { > > + struct sk_buff *skb = tx->skb, *next; > > struct ieee80211_tx_info *info; > > - int ret, i; > > + int ret; > > + bool fragm = false; > > > > - if (skb) { > > + local->mdev->trans_start = jiffies; > > + > > + while (skb) { > > if (ieee80211_queue_stopped(&local->hw, > > skb_get_queue_mapping(skb))) > > return IEEE80211_TX_PENDING; > > > > - ret = local->ops->tx(local_to_hw(local), skb); > > - if (ret) > > - return IEEE80211_TX_AGAIN; > > - local->mdev->trans_start = jiffies; > > - ieee80211_led_tx(local, 1); > > - } > I see only one possible regression with this patch and that is that it > seems you forgot to update the mdev->trans_start in the new loop on > each fragment. Well, that was actually intentional. Since none of the code here can block the time between the various assignments of trans_start would be _very_ small, and as such the multiple assignments can't really be necessary. > As far as I can tell this would only introduce a regression with if > someone is using a netdev watchdog on the mdev, if we don't care about > that and I'm not missing any other case where this could be affected > we might as well remove that first update as at least for mac80211 its > completely untouched. netdev watchdog is always running for all netdevs :) > Other than that: > > Reviewed-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Thanks for looking! johannes
Attachment:
signature.asc
Description: This is a digitally signed message part