On Fri, 2011-05-13 at 15:56 -0700, Daniel Halperin wrote: > I'm running an experiment where a client connects to the AP (both HT > iwlagn devices), starts a large transfer that gets aggregation going, > disassociates, and then reassociates and restarts the transfer. > > When mac80211 stops the queue (as part of the client's disassocation > process), it goes into the following code: > > IWL_DEBUG_HT(priv, "Stopping a non empty AGG HW QUEUE\n"); > priv->stations[sta_id].tid[tid].agg.state = > IWL_EMPTYING_HW_QUEUE_DELBA; > spin_unlock_irqrestore(&priv->sta_lock, flags); > > but if the station is removed right away the packets stay in the > queue. Indeed, when the client reconnects, the packets are then > delivered! But then the queue gets stuck and the AP issues a firmware > reset, which doesn't actually get traffic flowing again. Below, > there's a log with IWL_DL_HT set. It may be something racy; adding > DL_INFO and DL_MAC80211 I haven't been able to reproduce the bug yet > in a few tries. > > I suspect this will also be a problem with P2P, and not just my klugey > use of AP mode. Any suggestions as to how to fix? Sorry I'm replying this late. I'm not sure what the best way to fix it would be, but it makes sense that this would happen. Maybe we can flush the aggregation queue (asking the ucode to drop all frames) when the station is removed, but I'm not sure how we'd do that -- Wey-Yi do you know if that's possible? johannes -- 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