[media] af9035: issue an error message when i2c stuff fails
Commit Message
Instead of failing silent give a hint what went wrong.
Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
---
drivers/media/usb/dvb-usb-v2/af9035.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
Comments
Hello Uwe,
First apologies for taking so long to get to your patch.
On Sun, Jul 07, 2019 at 10:59:33PM +0200, Uwe Kleine-König wrote:
> Instead of failing silent give a hint what went wrong.
>
> Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
> ---
> drivers/media/usb/dvb-usb-v2/af9035.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
> index de52309eaaab..f5701fab192c 100644
> --- a/drivers/media/usb/dvb-usb-v2/af9035.c
> +++ b/drivers/media/usb/dvb-usb-v2/af9035.c
> @@ -211,13 +211,19 @@ static int af9035_add_i2c_dev(struct dvb_usb_device *d, const char *type,
>
> /* register I2C device */
> client = i2c_new_device(adapter, &board_info);
> - if (client == NULL || client->dev.driver == NULL) {
> + if (client == NULL) {
> + dev_err(&intf->dev, "failed to register i2c device\n");
> + ret = -ENODEV;
> + goto err;
> + } else if (client->dev.driver == NULL) {
> + dev_err(&intf->dev, "no driver for i2c device (type=%s)\n", type);
> ret = -ENODEV;
> goto err;
> }
i2c_new_device() calls i2c_new_client_device(), which in every error path
does a dev_err(). I suspect that this patch has become obsolete because
of fixes in i2c.
Thanks,
Sean
>
> /* increase I2C driver usage count */
> if (!try_module_get(client->dev.driver->owner)) {
> + dev_err(&intf->dev, "failed to get module for i2c driver\n");
> i2c_unregister_device(client);
> ret = -ENODEV;
> goto err;
> --
> 2.20.1
@@ -211,13 +211,19 @@ static int af9035_add_i2c_dev(struct dvb_usb_device *d, const char *type,
/* register I2C device */
client = i2c_new_device(adapter, &board_info);
- if (client == NULL || client->dev.driver == NULL) {
+ if (client == NULL) {
+ dev_err(&intf->dev, "failed to register i2c device\n");
+ ret = -ENODEV;
+ goto err;
+ } else if (client->dev.driver == NULL) {
+ dev_err(&intf->dev, "no driver for i2c device (type=%s)\n", type);
ret = -ENODEV;
goto err;
}
/* increase I2C driver usage count */
if (!try_module_get(client->dev.driver->owner)) {
+ dev_err(&intf->dev, "failed to get module for i2c driver\n");
i2c_unregister_device(client);
ret = -ENODEV;
goto err;