On Fri, Jun 02, 2006 at 11:10:10AM +0800, Zhu Yi wrote:
> 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?
>
It does work, thanks. But doesn't this add a possibility of missing
some interrupts?
cpu0 cpu1
==== ====
in isr in tasklet
ipw_enable_interrupts
|->priv->status |= STATUS_INT_ENABLED;
ipw_disable_interrupts
|->priv->status &= ~STATUS_INT_ENABLED;
|->ipw_write32(priv, IPW_INTA_MASK_R, ~IPW_INTA_MASK_ALL);
|->ipw_write32(priv, IPW_INTA_MASK_R, IPW_INTA_MASK_ALL);
/* This is possible due to priv->lock no longer being taken
in isr */
=>interrupt from ipw2200
in new isr
if (!(priv->status & STATUS_INT_ENABLED))
return IRQ_NONE; /* we wrongfully return here because priv->status
does not reflect the register's value */
Not sure this is really important at all, just curious.
Thanks,
Frederik
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]