On Mon, Jun 11, 2012 at 06:46:00PM +0530, Sujith Manoharan wrote: > Rajkumar Manoharan wrote: > > As btcoex scheme updation might sleep, remove the function call > > from tasklet context and queue it up as a separate work. > > > > Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> > > --- > > --- a/drivers/net/wireless/ath/ath9k/main.c > > +++ b/drivers/net/wireless/ath/ath9k/main.c > > @@ -188,6 +188,9 @@ static bool ath_prepare_reset(struct ath_softc *sc, bool retry_tx, bool flush) > > > > ath9k_debug_samp_bb_mac(sc); > > ath9k_hw_disable_interrupts(ah); > > +#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT > > + cancel_work_sync(&sc->mci_work); > > +#endif > > I think this should go inside __ath_cancel_work(), otherwise there is a > chance that this would not be cleaned up properly when stopping the > interface or unloading the driver. > mci_work is queued up by the ath9k_tasklet that is triggered by interrupt routine. So it is safer to cancel the mci_work after disabling interrupt. Does it make sense? -- Rajkumar -- 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