# Re: \[PATCH 1/3\] picolcd: driver for PicoLCD HID device

- From: Oliver Neukum \<oliver@neukum.org\>
- Date: 2010-02-25 04:12:19 
- List: linux-fbdev
- Page: https://ratatoskr.run/linux-fbdev/2010/02/1363096
- Thread: https://ratatoskr.run/linux-input/2010/02/1362856/t.md

```text
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
```
