Patch "spi: omap2-mcspi: Prevent duplicate gpio_request" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
spi: omap2-mcspi: Prevent duplicate gpio_request
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
spi-omap2-mcspi-prevent-duplicate-gpio_request.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
2f538c017e1a8620d19553931199c6d6a6d31bb2Mon Sep 17 00:00:00 2001
From: Michael Welling <[email protected]>
Date: Mon, 30 Nov 2015 09:02:39 -0600
Subject: spi: omap2-mcspi: Prevent duplicate gpio_request
From: Michael Welling <[email protected]>
commit 2f538c017e1a8620d19553931199c6d6a6d31bb2 upstream.
Occasionally the setup function will be called multiple times. Only request the gpio the first time otherwise -EBUSY will occur on subsequent calls to setup.
--- drivers/spi/spi-omap2-mcspi.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)
drivers/spi/spi-omap2-mcspi.c +10 -9
@@ -1024,6 +1024,16 @@ static int omap2_mcspi_setup(struct spi_ spi->controller_state = cs;/* Link this to context save list */ list_add_tail (&cs->node, &ctx->cs); + +if (gpio_is_valid (spi->cs_gpio)) { + ret =gpio_request (spi->cs_gpio,dev_name (&spi->dev)); +if (ret) { +dev_err (&spi->dev,"failed to request gpio\n" ); +return ret; + } +gpio_direction_output (spi->cs_gpio, + !(spi->mode &SPI_CS_HIGH )); + } }if (!mcspi_dma->dma_rx || !mcspi_dma->dma_tx) {
@@ -1032,15 +1042,6 @@ static int omap2_mcspi_setup(struct spi_return ret; } -if (gpio_is_valid (spi->cs_gpio)) { - ret =gpio_request (spi->cs_gpio,dev_name (&spi->dev)); -if (ret) { -dev_err (&spi->dev,"failed to request gpio\n" ); -return ret; - } -gpio_direction_output (spi->cs_gpio, !(spi->mode &SPI_CS_HIGH )); - } - ret =pm_runtime_get_sync (mcspi->dev);if (ret <0 )return ret;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/spi-omap2-mcspi-prevent-duplicate-gpio_request.patch
Quoted 8 lines · On Tue, Mar 01, 2016 at 08:15:27AM +0000, [email protected] wrote:
This is a note to let you know that I've just added the patch titled
spi: omap2-mcspi: Prevent duplicate
gpio_requestto the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
Thanks Greg.
Quoted 71 lines
The filename of the patch is:
spi-omap2-mcspi-prevent-duplicate-gpio_request.patch
and it can be found in the queue-4.4 subdirectory.If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From
2f538c017e1a8620d19553931199c6d6a6d31bb2Mon Sep 17 00:00:00 2001
From: Michael Welling <[email protected]>
Date: Mon, 30 Nov 2015 09:02:39 -0600
Subject: spi: omap2-mcspi: Prevent duplicategpio_requestFrom: Michael Welling <[email protected]>
commit
2f538c017e1a8620d19553931199c6d6a6d31bb2upstream.Occasionally the setup function will be called multiple times. Only request the gpio the first time otherwise
-EBUSYwill occur on subsequent calls to setup.Reported-by Joseph Bell <[email protected]>Signed-off-by Michael Welling <[email protected]>Signed-off-by Mark Brown <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>--- drivers/spi/spi-omap2-mcspi.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)drivers/spi/spi-omap2-mcspi.c +10
-9@@ -1024,6 +1024,16 @@ static int omap2_mcspi_setup(struct spi_ spi->controller_state = cs;/* Link this to context save list */ list_add_tail (&cs->node, &ctx->cs); + +if (gpio_is_valid (spi->cs_gpio)) { + ret =gpio_request (spi->cs_gpio,dev_name (&spi->dev)); +if (ret) { +dev_err (&spi->dev,"failed to request gpio\n" ); +return ret; + } +gpio_direction_output (spi->cs_gpio, + !(spi->mode &SPI_CS_HIGH )); + } }if (!mcspi_dma->dma_rx || !mcspi_dma->dma_tx) {@@ -1032,15 +1042,6 @@ static int omap2_mcspi_setup(struct spi_return ret; } -if (gpio_is_valid (spi->cs_gpio)) { - ret =gpio_request (spi->cs_gpio,dev_name (&spi->dev)); -if (ret) { -dev_err (&spi->dev,"failed to request gpio\n" ); -return ret; - } -gpio_direction_output (spi->cs_gpio, !(spi->mode &SPI_CS_HIGH )); - } - ret =pm_runtime_get_sync (mcspi->dev);if (ret <0 )return ret;Patches currently in stable-queue which might be from [email protected] are
queue-4.4/spi-omap2-mcspi-prevent-duplicate-gpio_request.patch