aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/radio/radio-si470x.c
diff options
context:
space:
mode:
authorTobias Lorenz <tobias.lorenz@gmx.net>2008-01-28 20:43:13 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-02-18 09:15:09 -0500
commitc3f686f152767b84893e474acd1a7758988dc369 (patch)
tree38422271ed6210b08b95d08457e1c0cf371443ce /drivers/media/radio/radio-si470x.c
parent532fe65205253aef1ce5c0c76d2d8d303fb3fe71 (diff)
V4L/DVB (7108): radio-si470x.c: check-after-use
Adrian used the coverity checker against radio-si470x and found this: > The Coverity checker spotted the following check-after-use in > drivers/media/radio/radio-si470x.c: > > <-- snip --> > static void si470x_usb_driver_disconnect(struct usb_interface *intf) > { > struct si470x_device *radio = usb_get_intfdata(intf); > > del_timer_sync(&radio->timer); <------------------ > flush_scheduled_work(); > > usb_set_intfdata(intf, NULL); > if (radio) { <------------------ > video_unregister_device(radio->videodev); > kfree(radio->buffer); > kfree(radio); > } > } > <-- snip --> > > Either "radio" can be NULL and this case has to be properly handled or > the NULL check is not required. These two lines should indeed better be inside the if statement. Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/radio/radio-si470x.c')
-rw-r--r--drivers/media/radio/radio-si470x.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/radio/radio-si470x.c b/drivers/media/radio/radio-si470x.c
index a2975c8b0095..7fdee3cc6e02 100644
--- a/drivers/media/radio/radio-si470x.c
+++ b/drivers/media/radio/radio-si470x.c
@@ -1439,11 +1439,10 @@ static void si470x_usb_driver_disconnect(struct usb_interface *intf)
1439{ 1439{
1440 struct si470x_device *radio = usb_get_intfdata(intf); 1440 struct si470x_device *radio = usb_get_intfdata(intf);
1441 1441
1442 del_timer_sync(&radio->timer);
1443 flush_scheduled_work();
1444
1445 usb_set_intfdata(intf, NULL); 1442 usb_set_intfdata(intf, NULL);
1446 if (radio) { 1443 if (radio) {
1444 del_timer_sync(&radio->timer);
1445 flush_scheduled_work();
1447 video_unregister_device(radio->videodev); 1446 video_unregister_device(radio->videodev);
1448 kfree(radio->buffer); 1447 kfree(radio->buffer);
1449 kfree(radio); 1448 kfree(radio);