mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
[IWLWIFI]: Not correctly dealing with hotunplug.
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@suse.de> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
23aeeec365
commit
cb4da1a34d
@ -4850,7 +4850,7 @@ static irqreturn_t iwl_isr(int irq, void *data)
|
|||||||
if ((inta == 0xFFFFFFFF) || ((inta & 0xFFFFFFF0) == 0xa5a5a5a0)) {
|
if ((inta == 0xFFFFFFFF) || ((inta & 0xFFFFFFF0) == 0xa5a5a5a0)) {
|
||||||
/* Hardware disappeared */
|
/* Hardware disappeared */
|
||||||
IWL_WARNING("HARDWARE GONE?? INTA == 0x%080x\n", inta);
|
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",
|
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 *data)
|
|||||||
|
|
||||||
/* iwl_irq_tasklet() will service interrupts and re-enable them */
|
/* iwl_irq_tasklet() will service interrupts and re-enable them */
|
||||||
tasklet_schedule(&priv->irq_tasklet);
|
tasklet_schedule(&priv->irq_tasklet);
|
||||||
|
unplugged:
|
||||||
spin_unlock(&priv->lock);
|
spin_unlock(&priv->lock);
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
Loading…
Reference in New Issue
Block a user