diff --git a/drivers/media/usb/pvrusb2/pvrusb2-context.c b/drivers/media/usb/pvrusb2/pvrusb2-context.c index 1764674de98b..f7b0ed7a3888 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-context.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-context.c @@ -32,6 +32,9 @@ static void pvr2_context_set_notify(struct pvr2_context *mp, int fl) int signal_flag = 0; mutex_lock(&pvr2_context_mutex); if (fl) { + if (!mp) { + return; + } if (!mp->notify_flag) { signal_flag = (pvr2_context_notify_first == NULL); mp->notify_prev = pvr2_context_notify_last; @@ -135,6 +138,7 @@ static void pvr2_context_check(struct pvr2_context *mp) if (mp->disconnect_flag && !mp->mc_first) { /* Go away... */ pvr2_context_destroy(mp); + mp = NULL; return; } }