Merge tag 'media/v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[linux-2.6-microblaze.git] / drivers / media / usb / pvrusb2 / pvrusb2-dvb.c
index 26811ef..3610139 100644 (file)
@@ -33,9 +33,6 @@ static int pvr2_dvb_feed_func(struct pvr2_dvb_adapter *adap)
        for (;;) {
                if (kthread_should_stop()) break;
 
-               /* Not sure about this... */
-               try_to_freeze();
-
                bp = pvr2_stream_get_ready_buffer(stream);
                if (bp != NULL) {
                        count = pvr2_buffer_get_count(bp);
@@ -62,8 +59,7 @@ static int pvr2_dvb_feed_func(struct pvr2_dvb_adapter *adap)
 
                /* Wait until more buffers become available or we're
                   told not to wait any longer. */
-               ret = wait_event_interruptible(
-                   adap->buffer_wait_data,
+               ret = wait_event_freezable(adap->buffer_wait_data,
                    (pvr2_stream_get_ready_count(stream) > 0) ||
                    kthread_should_stop());
                if (ret < 0) break;
@@ -88,8 +84,10 @@ static int pvr2_dvb_feed_thread(void *data)
        return stat;
 }
 
-static void pvr2_dvb_notify(struct pvr2_dvb_adapter *adap)
+static void pvr2_dvb_notify(void *ptr)
 {
+       struct pvr2_dvb_adapter *adap = ptr;
+
        wake_up(&adap->buffer_wait_data);
 }
 
@@ -149,7 +147,7 @@ static int pvr2_dvb_stream_do_start(struct pvr2_dvb_adapter *adap)
        }
 
        pvr2_stream_set_callback(pvr->video_stream.stream,
-                                (pvr2_stream_callback) pvr2_dvb_notify, adap);
+                                pvr2_dvb_notify, adap);
 
        ret = pvr2_stream_set_buffer_count(stream, PVR2_DVB_BUFFER_COUNT);
        if (ret < 0) return ret;