It makes no sense to enable interrupts if a device has been unplugged. In addition if in doubt IRQ_HANDLED should be returned. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Regards Oliver ---- --- linux-2.6.24-rc1/drivers/net/wireless/iwlwifi/iwl3945-base.c.alt 2007-11-13 12:23:07.000000000 +0100 +++ linux-2.6.24-rc1/drivers/net/wireless/iwlwifi/iwl3945-base.c 2007-11-13 12:26:00.000000000 +0100 @@ -4850,7 +4850,7 @@ static irqreturn_t iwl_isr(int irq, void if ((inta == 0xFFFFFFFF) || ((inta & 0xFFFFFFF0) == 0xa5a5a5a0)) { /* Hardware disappeared */ IWL_WARNING("HARDWARE GONE?? INTA == 0x%080x\n", inta); - goto none; + goto unplugged; } IWL_DEBUG_ISR("ISR inta 0x%08x, enabled 0x%08x, fh 0x%08x\n", @@ -4858,6 +4858,7 @@ static irqreturn_t iwl_isr(int irq, void /* iwl_irq_tasklet() will service interrupts and re-enable them */ tasklet_schedule(&priv->irq_tasklet); +unplugged: spin_unlock(&priv->lock); return IRQ_HANDLED; - 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