Re: [RFC PATCH] smsc911x: protect INT_EN read-modify-write with spinlock
From: <hidden>
Date: 2009-01-26 09:58:43
David Miller [off-list ref] wrote on 26/01/2009 01:47:36:
From: Steve Glendinning <redacted> Date: Tue, 20 Jan 2009 14:01:54 +0000quoted
This patch adds a new spinlock to protect read-modify-writes to the INT_EN register when enabling and disabling interrupt sources. I haven't actually seen any devices lock up, but I think there's a possibility and I'd like to eliminate it. Should I add this new spinlock, or should I extend the mac_lock to also cover these sections (renaming it to simply "lock")? Signed-off-by: Steve Glendinning <redacted>If you didn't have all of these RX multicast workaround cases, things would be much easier. The POLL and normal interrupt paths are already completely atomic for you already. And since POLL cannot happen until open() completes that path would be safe too.
Thanks for looking this over David. It looks like I can do away with the need for this if I leave RXSTOP_INT permanently enabled and use a flag in pdata to indicate whether the ISR should do a multicast filter update. Does this sound reasonable? Please drop this patch. Steve