On , Joonwoo Park wrote: > --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c > +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c > @@ -6262,6 +6262,10 @@ static void __iwl_down(struct iwl_priv *priv) > /* tell the device to stop sending interrupts */ > iwl_disable_interrupts(priv); > > + /* synchronize irq and tasklet */ > + synchronize_irq(priv->pci_dev->irq); > + tasklet_kill(&priv->irq_tasklet); > + Could synchronize_irq() be moved into iwl_disable_interrupts() ? I am also wondering if we cannot call tasklet_kill() before iwl_disable_interrupts() ... thus preventing it from being scheduled when we are going down. Reinette - 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