On Mon, 2011-08-29 at 17:03 +0530, Rajkumar Manoharan wrote: > The assumption is that during the hw config, transmission was > already stopped by mac80211. But during channel type change, > the mac80211 continue to transmit frames. The driver like ath9k > does chip reset while doing channel set. This could leads to > buffer overflow at driver side. And also after configuring the channel > and before doing rate updation, the frames are continued to xmit > with older rates. This patch ensures that the frames are always > xmitted with updated rates and avoid buffer overflow. > > Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> > --- > v2: Removed new stop queue reason code by netif why did you do that? > + netif_tx_stop_all_queues(sdata->dev); > + > + drv_flush(local, false); > /* channel_type change automatically detected */ > ieee80211_hw_config(local, 0); it seems to me that if the driver queues were full & stopped, this happens, then flush will clear the queues & start them, and you'll start queues during flush again... 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