diff options
Diffstat (limited to 'drivers/media/video/cx18/cx18-streams.c')
-rw-r--r-- | drivers/media/video/cx18/cx18-streams.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/media/video/cx18/cx18-streams.c b/drivers/media/video/cx18/cx18-streams.c index afb141b2027a..4ca9d847f1b1 100644 --- a/drivers/media/video/cx18/cx18-streams.c +++ b/drivers/media/video/cx18/cx18-streams.c | |||
@@ -218,7 +218,7 @@ int cx18_streams_setup(struct cx18 *cx) | |||
218 | return 0; | 218 | return 0; |
219 | 219 | ||
220 | /* One or more streams could not be initialized. Clean 'em all up. */ | 220 | /* One or more streams could not be initialized. Clean 'em all up. */ |
221 | cx18_streams_cleanup(cx); | 221 | cx18_streams_cleanup(cx, 0); |
222 | return -ENOMEM; | 222 | return -ENOMEM; |
223 | } | 223 | } |
224 | 224 | ||
@@ -296,12 +296,12 @@ int cx18_streams_register(struct cx18 *cx) | |||
296 | return 0; | 296 | return 0; |
297 | 297 | ||
298 | /* One or more streams could not be initialized. Clean 'em all up. */ | 298 | /* One or more streams could not be initialized. Clean 'em all up. */ |
299 | cx18_streams_cleanup(cx); | 299 | cx18_streams_cleanup(cx, 1); |
300 | return -ENOMEM; | 300 | return -ENOMEM; |
301 | } | 301 | } |
302 | 302 | ||
303 | /* Unregister v4l2 devices */ | 303 | /* Unregister v4l2 devices */ |
304 | void cx18_streams_cleanup(struct cx18 *cx) | 304 | void cx18_streams_cleanup(struct cx18 *cx, int unregister) |
305 | { | 305 | { |
306 | struct video_device *vdev; | 306 | struct video_device *vdev; |
307 | int type; | 307 | int type; |
@@ -319,8 +319,11 @@ void cx18_streams_cleanup(struct cx18 *cx) | |||
319 | 319 | ||
320 | cx18_stream_free(&cx->streams[type]); | 320 | cx18_stream_free(&cx->streams[type]); |
321 | 321 | ||
322 | /* Unregister device */ | 322 | /* Unregister or release device */ |
323 | video_unregister_device(vdev); | 323 | if (unregister) |
324 | video_unregister_device(vdev); | ||
325 | else | ||
326 | video_device_release(vdev); | ||
324 | } | 327 | } |
325 | } | 328 | } |
326 | 329 | ||