[1/1] si2168: Fix i2c_add_mux_adapter return value in probe function. In case it failed the return value was always 0.
Commit Message
Signed-off-by: Luis Alves <ljalvs@gmail.com>
---
drivers/media/dvb-frontends/si2168.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
Gah, there was a bug. Will apply that. Have to check if there is same
mistake on other drivers I have used I2C mux.
regards
Antti
On 07/17/2014 10:38 PM, Luis Alves wrote:
> Signed-off-by: Luis Alves <ljalvs@gmail.com>
> ---
> drivers/media/dvb-frontends/si2168.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
> index 7980741..3fed522 100644
> --- a/drivers/media/dvb-frontends/si2168.c
> +++ b/drivers/media/dvb-frontends/si2168.c
> @@ -619,8 +619,10 @@ static int si2168_probe(struct i2c_client *client,
> /* create mux i2c adapter for tuner */
> s->adapter = i2c_add_mux_adapter(client->adapter, &client->dev, s,
> 0, 0, 0, si2168_select, si2168_deselect);
> - if (s->adapter == NULL)
> + if (s->adapter == NULL) {
> + ret = -ENODEV;
> goto err;
> + }
>
> /* create dvb_frontend */
> memcpy(&s->fe.ops, &si2168_ops, sizeof(struct dvb_frontend_ops));
>
@@ -619,8 +619,10 @@ static int si2168_probe(struct i2c_client *client,
/* create mux i2c adapter for tuner */
s->adapter = i2c_add_mux_adapter(client->adapter, &client->dev, s,
0, 0, 0, si2168_select, si2168_deselect);
- if (s->adapter == NULL)
+ if (s->adapter == NULL) {
+ ret = -ENODEV;
goto err;
+ }
/* create dvb_frontend */
memcpy(&s->fe.ops, &si2168_ops, sizeof(struct dvb_frontend_ops));