camera(uvc): fix kernel may panic when close uvc camera,because uninit tasklet after uninit urb in uvc_uninit_video

This commit is contained in:
ddl
2011-09-02 11:57:01 +08:00
parent 2c54ff22b2
commit bb2d646b32

View File

@@ -843,15 +843,17 @@ static void uvc_uninit_video(struct uvc_streaming *stream, int free_buffers)
if (urb == NULL)
continue;
usb_kill_urb(urb);
usb_free_urb(urb);
stream->urb[i] = NULL;
/* ddl@rock-chips.com */
/* ddl@rock-chips.com: Tasklet must be kill before kill urb in uninit */
if (stream->tasklet[i]) {
tasklet_kill(stream->tasklet[i]);
kfree(stream->tasklet[i]);
stream->tasklet[i] = NULL;
}
usb_kill_urb(urb);
usb_free_urb(urb);
stream->urb[i] = NULL;
}
if (free_buffers)