From 64371ae1894b515c942ee6a90094307d5eafb6ba Mon Sep 17 00:00:00 2001 From: Volokh Konstantin Date: Wed, 16 Jan 2013 09:00:49 -0300 Subject: [PATCH] --- yaml --- r: 357489 b: refs/heads/master c: 7a295d1289f2be16f80f0a5242db330d542e0037 h: refs/heads/master i: 357487: edbe079422de403c8525f340e8e2482eec671bf7 v: v3 --- [refs] | 2 +- trunk/drivers/staging/media/go7007/go7007-usb.c | 2 +- trunk/drivers/staging/media/go7007/go7007-v4l2.c | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 8d713d5f10b6..aa94d0faf58f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 61a2353c70d1f33c52768fb7d3fd7ee173928086 +refs/heads/master: 7a295d1289f2be16f80f0a5242db330d542e0037 diff --git a/trunk/drivers/staging/media/go7007/go7007-usb.c b/trunk/drivers/staging/media/go7007/go7007-usb.c index 5443e25086e9..a6cad1589475 100644 --- a/trunk/drivers/staging/media/go7007/go7007-usb.c +++ b/trunk/drivers/staging/media/go7007/go7007-usb.c @@ -1245,7 +1245,6 @@ static void go7007_usb_disconnect(struct usb_interface *intf) struct urb *vurb, *aurb; int i; - go->status = STATUS_SHUTDOWN; usb_kill_urb(usb->intr_urb); /* Free USB-related structs */ @@ -1269,6 +1268,7 @@ static void go7007_usb_disconnect(struct usb_interface *intf) kfree(go->hpi_context); go7007_remove(go); + go->status = STATUS_SHUTDOWN; } static struct usb_driver go7007_usb_driver = { diff --git a/trunk/drivers/staging/media/go7007/go7007-v4l2.c b/trunk/drivers/staging/media/go7007/go7007-v4l2.c index 94899759229f..39e6749353be 100644 --- a/trunk/drivers/staging/media/go7007/go7007-v4l2.c +++ b/trunk/drivers/staging/media/go7007/go7007-v4l2.c @@ -1832,5 +1832,6 @@ void go7007_v4l2_remove(struct go7007 *go) mutex_unlock(&go->hw_lock); if (go->video_dev) video_unregister_device(go->video_dev); - v4l2_device_unregister(&go->v4l2_dev); + if (go->status != STATUS_SHUTDOWN) + v4l2_device_unregister(&go->v4l2_dev); }