On Thu, 2008-07-24 at 17:55 +0300, Tomas Winkler wrote: > > What happens if you just invert the > > if (__netif_subqueue_stopped(local->mdev, i)) > > continue; > > > check in ieee80211_tx_pending to read > > if (!__netif_subqueue_stopped(local->mdev, i)) > > continue; > > > > as I suggested yesterday? > > This is wrong since you it will actually starts queues that driver > didn't ask to start in the next line. Ok. > As I see it any failure in the driver's tx path will cause moving to > pending queue, except packets on AMPDU > queues that will be dropped. > That's correct for stopping because of queue overhead, not for errors. Tough luck, just drop packets on errors. If that matters to you, fix the driver to not run into these errors. > So till someone fix adm driver consider this patch It worked quite > well. I will also send patch that fixes the behavior in the iwlwifi > driver. If you fix iwlwifi we don't need this patch, and then I can instead remove the code from mac80211, but we can just as well merge this first since we'll get rid of it again. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part