From 7559d13ccf9fc4be9fb6ed21aaa4e105b6789ce8 Mon Sep 17 00:00:00 2001 From: Shuah Khan Date: Sun, 21 Dec 2014 00:24:48 -0300 Subject: [PATCH] [media] media: fix au0828_analog_register() to not free au0828_dev au0828_analog_register() frees au0828_dev when it fails to locate isoc endpoint. au0828_usb_probe() continues with dvb and rc probe and registration assuming dev is still valid. When au0828_analog_register() fails to locate isoc endpoint, it should return without free'ing au0828_dev. Otherwise, the probe will fail as dev is null when au0828_dvb_register() is called. Signed-off-by: Shuah Khan Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- drivers/media/usb/au0828/au0828-video.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c index 60a684600456..98abfd620624 100644 --- a/drivers/media/usb/au0828/au0828-video.c +++ b/drivers/media/usb/au0828/au0828-video.c @@ -2029,7 +2029,6 @@ int au0828_analog_register(struct au0828_dev *dev, } if (!(dev->isoc_in_endpointaddr)) { pr_info("Could not locate isoc endpoint\n"); - kfree(dev); return -ENODEV; } -- 2.20.1