2018-11-08 12:45:53

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH] media: cxd2880-spi: fix probe when dvb_attach fails

When dvb_attach fails, probe returns 0, and remove crashes afterwards.
This patch sets the return value to -ENODEV when attach fails.

Fixes: bd24fcddf6b8 ("media: cxd2880-spi: Add support for CXD2880 SPI interface")
Signed-off-by: Neil Armstrong <[email protected]>
---
drivers/media/spi/cxd2880-spi.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/media/spi/cxd2880-spi.c b/drivers/media/spi/cxd2880-spi.c
index 11ce510..c437309 100644
--- a/drivers/media/spi/cxd2880-spi.c
+++ b/drivers/media/spi/cxd2880-spi.c
@@ -536,6 +536,7 @@ cxd2880_spi_probe(struct spi_device *spi)

if (!dvb_attach(cxd2880_attach, &dvb_spi->dvb_fe, &config)) {
pr_err("cxd2880_attach failed\n");
+ ret = -ENODEV;
goto fail_attach;
}

--
2.7.4



2018-11-13 05:14:07

by Takiguchi, Yasunari

[permalink] [raw]
Subject: RE: [PATCH] media: cxd2880-spi: fix probe when dvb_attach fails

Hi Neil,

Thanks for finding that.

Acked-by: Yasunari Takiguchi <[email protected]>


> -----Original Message-----
> From: Neil Armstrong [mailto:[email protected]]
> Sent: Thursday, November 8, 2018 9:45 PM
> To: Takiguchi, Yasunari (SSS)
> Cc: Neil Armstrong; [email protected]; [email protected];
> [email protected]
> Subject: [PATCH] media: cxd2880-spi: fix probe when dvb_attach fails
>
> When dvb_attach fails, probe returns 0, and remove crashes afterwards.
> This patch sets the return value to -ENODEV when attach fails.
>
> Fixes: bd24fcddf6b8 ("media: cxd2880-spi: Add support for CXD2880 SPI
> interface")
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> drivers/media/spi/cxd2880-spi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/media/spi/cxd2880-spi.c
> b/drivers/media/spi/cxd2880-spi.c
> index 11ce510..c437309 100644
> --- a/drivers/media/spi/cxd2880-spi.c
> +++ b/drivers/media/spi/cxd2880-spi.c
> @@ -536,6 +536,7 @@ cxd2880_spi_probe(struct spi_device *spi)
>
> if (!dvb_attach(cxd2880_attach, &dvb_spi->dvb_fe, &config)) {
> pr_err("cxd2880_attach failed\n");
> + ret = -ENODEV;
> goto fail_attach;
> }
>
> --
> 2.7.4