Messages in this thread | | | From | Linus Torvalds <> | Date | Fri, 21 Jan 2011 08:37:34 -0800 | Subject | Re: PPS parport boot lockup: INFO: HARDIRQ-READ-safe -> HARDIRQ-READ-unsafe lock order detected |
| |
On Fri, Jan 21, 2011 at 6:44 AM, Alexander Gordeev <lasaine@lvk.cs.msu.su> wrote: > > But parport_unregister_device should probably never be called while > parport interrupts are enabled (in hardware). So this is a false > positive. Is this right?
"Enabled in hardware" is immaterial - with shared interrupts, it doesn't matter one whit whether parport interrupts are disabled on the chip, because some other chip may be using the same interrupt line.
So you'd need to have something that guarantees that there is no concurrent use, like actually unregistering the irq handler itself. Things like that can work.
HOWEVER, even then I think you should see the lockdep message as a problem. The automated toolchain is great because it shows problems that it thinks might happen - not when they happen, but based on a simpler theoretical model. Ignoring the error because there is some rule in place that is hard to explain to the automated toolchain is the wrong thing to do, because it makes the lockdep automation less reliable.
Think of it as a compiler warning - maybe the warning doesn't actually imply an actual bug, but you should strive to write code that doesn't warn, because otherwise the noise from the warning you ignored will make it harder for others to see the _real_ bugs.
Linus
| |