Messages in this thread | | | From | Oliver Neukum <> | Subject | Re: [PATCH 1/3] picolcd: driver for PicoLCD HID device | Date | Thu, 25 Feb 2010 05:11:52 +0100 |
| |
Am Mittwoch, 24. Februar 2010 22:44:53 schrieb Rick L. Vinyard, Jr.: > The issue, as I understand it is that non-interrupt code may obtain the > lock and then the interrupt code is executed... hence the deadlock and the > need to use spin_lock_irqsave() and spin_unlock_irqrestore().
Yes.
> If that is correct, is there any problem with the following approach?
Why not always a workqueue or alternatively spin_lock_irq() when you are not in interrupt? This approach seems needlessly complicated.
Secondly, when you hold a spinlock, you must use GFP_ATOMIC. GFP_NOIO is insufficient.
Regards Oliver
| |