V4L/DVB (6343): ivtvfb: check return value of unregister_framebuffer
Prevent unloading the framebuffer if it is still in use. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
18e16f9c95
commit
d343d7f979
1 changed files with 4 additions and 1 deletions
|
@ -1169,9 +1169,12 @@ static void ivtvfb_cleanup(void)
|
||||||
for (i = 0; i < ivtv_cards_active; i++) {
|
for (i = 0; i < ivtv_cards_active; i++) {
|
||||||
itv = ivtv_cards[i];
|
itv = ivtv_cards[i];
|
||||||
if (itv && (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) && itv->osd_info) {
|
if (itv && (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) && itv->osd_info) {
|
||||||
|
if (unregister_framebuffer(&itv->osd_info->ivtvfb_info)) {
|
||||||
|
IVTVFB_WARN("Framebuffer %d is in use, cannot unload\n", i);
|
||||||
|
return;
|
||||||
|
}
|
||||||
IVTVFB_DEBUG_INFO("Unregister framebuffer %d\n", i);
|
IVTVFB_DEBUG_INFO("Unregister framebuffer %d\n", i);
|
||||||
ivtvfb_blank(FB_BLANK_POWERDOWN, &itv->osd_info->ivtvfb_info);
|
ivtvfb_blank(FB_BLANK_POWERDOWN, &itv->osd_info->ivtvfb_info);
|
||||||
unregister_framebuffer(&itv->osd_info->ivtvfb_info);
|
|
||||||
ivtvfb_release_buffers(itv);
|
ivtvfb_release_buffers(itv);
|
||||||
itv->osd_video_pbase = 0;
|
itv->osd_video_pbase = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue