From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Fri, 19 Feb 2016 21:53:30 +0000 Subject: [patch] gpio-pisosr: Unlock on error in pisosr_gpio_refresh() Message-Id: <20160219215330.GA18915@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Linus Walleij , "Andrew F. Davis" Cc: Alexandre Courbot , linux-gpio@vger.kernel.org, kernel-janitors@vger.kernel.org We should unlock before returning if spi_read() fails. Fixes: df6df93c8a73 ('gpio: Add driver for SPI serializers') Signed-off-by: Dan Carpenter diff --git a/drivers/gpio/gpio-pisosr.c b/drivers/gpio/gpio-pisosr.c index 58ea08df..f9f1074 100644 --- a/drivers/gpio/gpio-pisosr.c +++ b/drivers/gpio/gpio-pisosr.c @@ -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, From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] gpio-pisosr: Unlock on error in pisosr_gpio_refresh() Date: Sat, 20 Feb 2016 00:53:30 +0300 Message-ID: <20160219215330.GA18915@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from aserp1040.oracle.com ([141.146.126.69]:17518 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1425727AbcBSVxu (ORCPT ); Fri, 19 Feb 2016 16:53:50 -0500 Content-Disposition: inline Sender: linux-gpio-owner@vger.kernel.org List-Id: linux-gpio@vger.kernel.org To: Linus Walleij , "Andrew F. Davis" Cc: Alexandre Courbot , linux-gpio@vger.kernel.org, kernel-janitors@vger.kernel.org We should unlock before returning if spi_read() fails. Fixes: df6df93c8a73 ('gpio: Add driver for SPI serializers') Signed-off-by: Dan Carpenter diff --git a/drivers/gpio/gpio-pisosr.c b/drivers/gpio/gpio-pisosr.c index 58ea08df..f9f1074 100644 --- a/drivers/gpio/gpio-pisosr.c +++ b/drivers/gpio/gpio-pisosr.c @@ -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,