Skip to contentSkip to conversation

iwlwifi not correctly dealing with hotunplug

PATCH Applied Oliver Neukum 3 participants 3 messages Nov 13, 2007 – Nov 14, 2007 1 message not in the archive

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

Regards
Oliver

----

drivers/net/wireless/iwlwifi/iwl3945-base.c renamed from drivers/net/wireless/iwlwifi/iwl3945-base.c.alt +2 -1
@@ -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;

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 4 lines · Oliver Neukum

It makes no sense to enable interrupts if a device has been unplugged. In addition if in doubt IRQ_HANDLED should be returned.

ACK. Could you also do the same for iwl4965? Or John, do you mind to get the full patch from our GIT (with a little directory twick for the filename in the patch).

http://intellinuxwireless.org/repos/?p=iwlwifi.git;a=commitdiff_plain;h=96f1d448523930a04b3c81067c1cfafe56cc3768;hp=2355f9930372953d41ee884ea6bf1535d0b09099

Thanks,
-yi

Quoted 25 lines

----

drivers/net/wireless/iwlwifi/iwl3945-base.c renamed from drivers/net/wireless/iwlwifi/iwl3945-base.c.alt +2 -2
@@ -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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer Applied
#3 lore raw

From: Zhu Yi <[email protected]>
Date: Wed, 14 Nov 2007 09:30:54 +0800

Quoted 8 lines · Oliver Neukum
Quoted 4 lines

It makes no sense to enable interrupts if a device has been unplugged. In addition if in doubt IRQ_HANDLED should be returned.

ACK.

I've applied Olver's patch, thanks.