Message ID | 1623069869-39309-1-git-send-email-zou_wei@huawei.com |
---|---|
State | New |
Headers | show |
Series | [-next] pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq() | expand |
On 2021/6/7 20:44, Zou Wei wrote: > Add the missing unlock before return from function mcp23s08_irq() > in the error handling case. > > Fixes: 897120d41e7a ("pinctrl: mcp23s08: fix race condition in irq handler") > Reported-by: Hulk Robot <hulkci@huawei.com> > Signed-off-by: Zou Wei <zou_wei@huawei.com> > --- > drivers/pinctrl/pinctrl-mcp23s08.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/pinctrl/pinctrl-mcp23s08.c b/drivers/pinctrl/pinctrl-mcp23s08.c > index 799d596..e12aa09 100644 > --- a/drivers/pinctrl/pinctrl-mcp23s08.c > +++ b/drivers/pinctrl/pinctrl-mcp23s08.c > @@ -353,6 +353,7 @@ static irqreturn_t mcp23s08_irq(int irq, void *data) > > if (intf == 0) { > /* There is no interrupt pending */ > + goto unlock; > return IRQ_HANDLED; One mistake here is to forget to delete the "return IRQ_HANDLED" line, please ignore this patch, I will send v2 later. > } > >
diff --git a/drivers/pinctrl/pinctrl-mcp23s08.c b/drivers/pinctrl/pinctrl-mcp23s08.c index 799d596..e12aa09 100644 --- a/drivers/pinctrl/pinctrl-mcp23s08.c +++ b/drivers/pinctrl/pinctrl-mcp23s08.c @@ -353,6 +353,7 @@ static irqreturn_t mcp23s08_irq(int irq, void *data) if (intf == 0) { /* There is no interrupt pending */ + goto unlock; return IRQ_HANDLED; }
Add the missing unlock before return from function mcp23s08_irq() in the error handling case. Fixes: 897120d41e7a ("pinctrl: mcp23s08: fix race condition in irq handler") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Zou Wei <zou_wei@huawei.com> --- drivers/pinctrl/pinctrl-mcp23s08.c | 1 + 1 file changed, 1 insertion(+)