lkml.org 
[lkml]   [2006]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [patch mm1-rc2] lock validator: netlink.c netlink_table_grab fix
From
Date
On Thu, 2006-06-01 at 16:42 +0200, Frederik Deweerdt wrote:
> This got rid of the oops for me, is it the right fix?

I don't think netlink will contend with hardirqs. Can you test with this
fix for ipw2200 driver?

Thanks,
-yi
diff -urp a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
--- a/drivers/net/wireless/ipw2200.c 2006-04-01 09:47:24.000000000 +0800
+++ b/drivers/net/wireless/ipw2200.c 2006-06-01 14:32:00.000000000 +0800
@@ -11058,11 +11058,9 @@ static irqreturn_t ipw_isr(int irq, void
if (!priv)
return IRQ_NONE;

- spin_lock(&priv->lock);
-
if (!(priv->status & STATUS_INT_ENABLED)) {
/* Shared IRQ */
- goto none;
+ return IRQ_NONE;
}

inta = ipw_read32(priv, IPW_INTA_RW);
@@ -11071,12 +11069,12 @@ static irqreturn_t ipw_isr(int irq, void
if (inta == 0xFFFFFFFF) {
/* Hardware disappeared */
IPW_WARNING("IRQ INTA == 0xFFFFFFFF\n");
- goto none;
+ return IRQ_NONE;
}

if (!(inta & (IPW_INTA_MASK_ALL & inta_mask))) {
/* Shared interrupt */
- goto none;
+ return IRQ_NONE;
}

/* tell the device to stop sending interrupts */
@@ -11091,12 +11089,7 @@ static irqreturn_t ipw_isr(int irq, void

tasklet_schedule(&priv->irq_tasklet);

- spin_unlock(&priv->lock);
-
return IRQ_HANDLED;
- none:
- spin_unlock(&priv->lock);
- return IRQ_NONE;
}

static void ipw_rf_kill(void *adapter)
\
 
 \ /
  Last update: 2006-06-02 05:12    [W:0.131 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site