Details

[Home]

Issue of the Implementation # L0202

Brief

gpio/grgpio: deadlock in grgpio_irq_unmap()

Detailed Description

grgpio_irq_unmap() code looks quite suspicious regarding usage of priv->bgc.lock spinlock. It locks the spinlock in line 310:

	spin_lock_irqsave(&priv->bgc.lock, flags);
and then it can call grgpio_set_imask() in line 317:
	grgpio_set_imask(priv, i, 0);
But grgpio_set_imask() unconditionally locks the spinlock by itself.

Component

linux-kernel 4.2

Accepted

https://lkml.org/lkml/2015/8/17/117
commit

Status

Fixed in kernel 4.3-rc1

List of traces

Error trace 1

[Home]