Skip to contentSkip to conversation

gpio: davinci: signedness bug in davinci_gpio_irq_setup()

PATCH In review Dan Carpenter 3 participants 3 messages Jan 9, 2014 – Feb 3, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gpio: davinci: signedness bug in davinci_gpio_irq_setup()

"irq" needs to be signed for the error handling to work.

Fixes 6075a8b2b6c3 ('gpio: davinci: don't create irq_domain in case of unbanked irqs')
drivers/gpio/gpio-davinci.c +2 -1
index 7629b4f12b7f..b0e98d379217 100644
@@ -423,7 +423,7 @@ static const struct irq_domain_ops davinci_gpio_irq_ops = {
 
 static int davinci_gpio_irq_setup(struct platform_device *pdev)
 {
-	unsigned	gpio, irq, bank;
+	unsigned	gpio, bank;
 	struct clk	*clk;
 	u32		binten = 0;
 	unsigned	ngpio, bank_irq;
@@ -433,6 +433,7 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev)
 	struct davinci_gpio_platform_data *pdata = dev->platform_data;
 	struct davinci_gpio_regs __iomem *g;
 	struct irq_domain	*irq_domain = NULL;
+	int		irq;
 
 	ngpio = pdata->ngpio;
 	res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
Acked-by on v1 1/1
#1 lore raw
Quoted 19 lines · Dan Carpenter

"irq" needs to be signed for the error handling to work.

Fixes 6075a8b2b6c3 ('gpio: davinci: don't create irq_domain in case of unbanked irqs')
drivers/gpio/gpio-davinci.c +1 -1
index 7629b4f12b7f..b0e98d379217 100644
@@ -423,7 +423,7 @@ static const struct irq_domain_ops davinci_gpio_irq_ops = {
 
 static int davinci_gpio_irq_setup(struct platform_device *pdev)
 {
-       unsigned        gpio, irq, bank;
+       unsigned        gpio, bank;
        struct clk      *clk;
        u32             binten = 0;
        unsigned        ngpio, bank_irq;

drivers/gpio/gpio-davinci.c static int davinci_gpio_irq_setup(struct platform_device *pdev) · line 439

Quoted 7 lines
drivers/gpio/gpio-davinci.c +1 -0
@@ -433,6 +433,7 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev)
        struct davinci_gpio_platform_data *pdata = dev->platform_data;
        struct davinci_gpio_regs __iomem *g;
        struct irq_domain       *irq_domain = NULL;
+       int             irq;
 
        ngpio = pdata->ngpio;
        res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);

This merge window the DaVinci GPIO changes are queued by the DaVinci maintainers (this patch does not even apply to my tree) so DaVinci guys:
please pick up this patch.

Yours,
Linus Walleij

#2 lore raw

Hi Linus, Sekhar,

Quoted 26 lines · Linus Walleij
Quoted 24 lines · Dan Carpenter

"irq" needs to be signed for the error handling to work.

Fixes 6075a8b2b6c3 ('gpio: davinci: don't create irq_domain in case of unbanked irqs')
drivers/gpio/gpio-davinci.c +2 -1
index 7629b4f12b7f..b0e98d379217 100644
@@ -423,7 +423,7 @@ static const struct irq_domain_ops davinci_gpio_irq_ops = {
 
  static int davinci_gpio_irq_setup(struct platform_device *pdev)
  {
-       unsigned        gpio, irq, bank;
+       unsigned        gpio, bank;
         struct clk      *clk;
         u32             binten = 0;
         unsigned        ngpio, bank_irq;
@@ -433,6 +433,7 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev)
         struct davinci_gpio_platform_data *pdata = dev->platform_data;
         struct davinci_gpio_regs __iomem *g;
         struct irq_domain       *irq_domain = NULL;
+       int             irq;
 
Quoted 8 lines

drivers/gpio/gpio-davinci.c static int davinci_gpio_irq_setup(struct platform_device *pdev) · line 439

Quoted 2 lines
drivers/gpio/gpio-davinci.c +0 -0
         ngpio = pdata->ngpio;
         res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);

This merge window the DaVinci GPIO changes are queued by the DaVinci maintainers (this patch does not even apply to my tree) so DaVinci guys:
please pick up this patch.

This patch is not in 3.14 yet. Are there any chances to have it in 3.14, as it introduces merge conflicts with future patches?

Also, this is a fix.

Regards,
-grygorii