summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-01-05 08:43:40 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-01-07 05:07:36 -0200
commit1f0ee65a3b6a3c78c4f6b10f8df5700a44ed3c36 (patch)
tree4d5d95a812149bda6bc6893887091f27d439b644
parentb64f8e9adc2eff4941ca0cf146a850c7b4173594 (diff)
downloadlinux-1f0ee65a3b6a3c78c4f6b10f8df5700a44ed3c36.tar.bz2
[media] em28xx: unregister i2c bus 0 if bus 1 fails to register
Fix the error handling logic, making it to unregister i2c bus 0, in case of a failure to register the second bus. Reported-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/usb/em28xx/em28xx-cards.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c
index 541de6df127b..dbce4dc421f9 100644
--- a/drivers/media/usb/em28xx/em28xx-cards.c
+++ b/drivers/media/usb/em28xx/em28xx-cards.c
@@ -2989,6 +2989,9 @@ static int em28xx_init_dev(struct em28xx *dev, struct usb_device *udev,
if (retval < 0) {
em28xx_errdev("%s: em28xx_i2c_register bus 1 - error [%d]!\n",
__func__, retval);
+
+ em28xx_i2c_unregister(dev, 0);
+
return retval;
}
}