Skip to contentSkip to conversation

gpio-pisosr: Unlock on error in pisosr_gpio_refresh()

PATCH In review Dan Carpenter 2 participants 2 messages Feb 19, 2016

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

PATCH 1/1 gpio-pisosr: Unlock on error in pisosr_gpio_refresh()

We should unlock before returning if spi_read() fails.

Fixes df6df93c8a73 ('gpio: Add driver for SPI serializers')
drivers/gpio/gpio-pisosr.c +1 -3
index 58ea08df..f9f1074 100644
@@ -53,12 +53,10 @@ static int pisosr_gpio_refresh(struct pisosr_gpio *gpio)
 	}
 
 	ret = spi_read(gpio->spi, gpio->buffer, gpio->buffer_size);
-	if (ret)
-		return ret;
 
 	mutex_unlock(&gpio->lock);
 
-	return 0;
+	return ret;
 }
 
 static int pisosr_gpio_get_direction(struct gpio_chip *chip,
#1 lore raw
Quoted 14 lines · Dan Carpenter

We should unlock before returning if spi_read() fails.

Fixes df6df93c8a73 ('gpio: Add driver for SPI serializers')
drivers/gpio/gpio-pisosr.c +0 -0
index 58ea08df..f9f1074 100644
@@ -53,12 +53,10 @@ static int pisosr_gpio_refresh(struct pisosr_gpio *gpio)
  	}
 
  	ret = spi_read(gpio->spi, gpio->buffer, gpio->buffer_size);

drivers/gpio/gpio-pisosr.c static int pisosr_gpio_refresh(struct pisosr_gpio *gpio) · line 62

Quoted 10 lines
drivers/gpio/gpio-pisosr.c +1 -3
-	if (ret)
-		return ret;
 
  	mutex_unlock(&gpio->lock);
 
-	return 0;
+	return ret;
  }
 
  static int pisosr_gpio_get_direction(struct gpio_chip *chip,

This must get flagged by some tool, looks like [0] beat you to it.

Thanks though,
Andrew

[0]http://www.spinics.net/lists/kernel/msg2191913.html