staging:iio:ad2s90: Make probe handle spi_setup failure
authorMatheus Tavares <matheus.bernardino@usp.br>
Sat, 3 Nov 2018 22:49:44 +0000 (19:49 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Feb 2019 18:45:58 +0000 (19:45 +0100)
[ Upstream commit b3a3eafeef769c6982e15f83631dcbf8d1794efb ]

Previously, ad2s90_probe ignored the return code from spi_setup, not
handling its possible failure. This patch makes ad2s90_probe check if
the code is an error code and, if so, do the following:

- Call dev_err with an appropriate error message.
- Return the spi_setup's error code.

Note: The 'return ret' statement could be out of the 'if' block, but
this whole block will be moved up in the function in the patch:
'staging:iio:ad2s90: Move device registration to the end of probe'.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/staging/iio/resolver/ad2s90.c

index b2270908f26f2bb41adb5cdee7aa59aa1104a828..cbee9ad00f0d20b1d98170161aca310c8ac4a25a 100644 (file)
@@ -86,7 +86,12 @@ static int ad2s90_probe(struct spi_device *spi)
        /* need 600ns between CS and the first falling edge of SCLK */
        spi->max_speed_hz = 830000;
        spi->mode = SPI_MODE_3;
-       spi_setup(spi);
+       ret = spi_setup(spi);
+
+       if (ret < 0) {
+               dev_err(&spi->dev, "spi_setup failed!\n");
+               return ret;
+       }
 
        return 0;
 }