Message ID | bab29007-8d74-0a68-2378-9db6ba0bc576@omp.ru |
---|---|
State | New |
Headers | show |
Series | Correctly handle plaform_get_irq()'s result in the i2C drivers | expand |
On Sun, Jul 04, 2021 at 05:38:45PM +0300, Sergey Shtylyov wrote: > Iff platform_get_irq() returns 0, the driver's probe() method will return 0 > early (as if the method's call was successful). Let's consider IRQ0 valid > for simplicity -- devm_request_irq() can always override that decision... > > Fixes: ce38815d39ea ("I2C: mediatek: Add driver for MediaTek I2C controller") > Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru> Qii Wang, do you like this patch? > > --- > drivers/i2c/busses/i2c-mt65xx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: linux/drivers/i2c/busses/i2c-mt65xx.c > =================================================================== > --- linux.orig/drivers/i2c/busses/i2c-mt65xx.c > +++ linux/drivers/i2c/busses/i2c-mt65xx.c > @@ -1211,7 +1211,7 @@ static int mtk_i2c_probe(struct platform > return PTR_ERR(i2c->pdmabase); > > irq = platform_get_irq(pdev, 0); > - if (irq <= 0) > + if (irq < 0) > return irq; > > init_completion(&i2c->msg_complete);
On Tue, 2021-08-17 at 22:09 +0200, Wolfram Sang wrote: > On Sun, Jul 04, 2021 at 05:38:45PM +0300, Sergey Shtylyov wrote: > > Iff platform_get_irq() returns 0, the driver's probe() method will return 0 > > early (as if the method's call was successful). Let's consider IRQ0 valid > > for simplicity -- devm_request_irq() can always override that decision... > > > > Fixes: ce38815d39ea ("I2C: mediatek: Add driver for MediaTek I2C controller") > > Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru> > > Qii Wang, do you like this patch? > It is ok. Reviewed-by: Qii Wang <qii.wang@mediatek.com> Thanks > > > > --- > > drivers/i2c/busses/i2c-mt65xx.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > Index: linux/drivers/i2c/busses/i2c-mt65xx.c > > =================================================================== > > --- linux.orig/drivers/i2c/busses/i2c-mt65xx.c > > +++ linux/drivers/i2c/busses/i2c-mt65xx.c > > @@ -1211,7 +1211,7 @@ static int mtk_i2c_probe(struct platform > > return PTR_ERR(i2c->pdmabase); > > > > irq = platform_get_irq(pdev, 0); > > - if (irq <= 0) > > + if (irq < 0) > > return irq; > > > > init_completion(&i2c->msg_complete);
On Sun, Jul 04, 2021 at 05:38:45PM +0300, Sergey Shtylyov wrote: > Iff platform_get_irq() returns 0, the driver's probe() method will return 0 > early (as if the method's call was successful). Let's consider IRQ0 valid > for simplicity -- devm_request_irq() can always override that decision... > > Fixes: ce38815d39ea ("I2C: mediatek: Add driver for MediaTek I2C controller") > Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru> > Applied to for-next, thanks!
Index: linux/drivers/i2c/busses/i2c-mt65xx.c =================================================================== --- linux.orig/drivers/i2c/busses/i2c-mt65xx.c +++ linux/drivers/i2c/busses/i2c-mt65xx.c @@ -1211,7 +1211,7 @@ static int mtk_i2c_probe(struct platform return PTR_ERR(i2c->pdmabase); irq = platform_get_irq(pdev, 0); - if (irq <= 0) + if (irq < 0) return irq; init_completion(&i2c->msg_complete);
Iff platform_get_irq() returns 0, the driver's probe() method will return 0 early (as if the method's call was successful). Let's consider IRQ0 valid for simplicity -- devm_request_irq() can always override that decision... Fixes: ce38815d39ea ("I2C: mediatek: Add driver for MediaTek I2C controller") Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru> --- drivers/i2c/busses/i2c-mt65xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)