Hui Su <[email protected]> writes: > fbtft_mkdirty() can be reached from the fbcon rendering path while > processing printk() in hardirq context. Meanwhile, dirty_lock is also > taken by fbtft_deferred_io() in workqueue context with local interrupts > enabled. ... > Use spin_lock_irqsave() for fbtft_mkdirty() and spin_lock_irq() for > fbtft_deferred_io(). They only access the dirty line range, so the > IRQ-off regions remain short. > > Fixes: c296d5f9957c ("staging: fbtft: core support") > Signed-off-by: Hui Su <[email protected]>
Reviewed-by: Nam Cao <[email protected]>
