diff options
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-dvb.c')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-dvb.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-dvb.c b/drivers/media/video/pvrusb2/pvrusb2-dvb.c index 69ac59aa654c..dd693a1980e8 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-dvb.c +++ b/drivers/media/video/pvrusb2/pvrusb2-dvb.c | |||
@@ -138,9 +138,8 @@ static void pvr2_dvb_fh_done(struct pvr2_dvb_fh *fh) | |||
138 | pvr2_channel_done(&fh->channel); | 138 | pvr2_channel_done(&fh->channel); |
139 | } | 139 | } |
140 | 140 | ||
141 | static int pvr2_dvb_feed_thread(void *data) | 141 | static int pvr2_dvb_feed_func(struct pvr2_dvb_adapter *adap) |
142 | { | 142 | { |
143 | struct pvr2_dvb_adapter *adap = data; | ||
144 | struct pvr2_dvb_fh fh; | 143 | struct pvr2_dvb_fh fh; |
145 | int ret; | 144 | int ret; |
146 | unsigned int count; | 145 | unsigned int count; |
@@ -203,12 +202,18 @@ static int pvr2_dvb_feed_thread(void *data) | |||
203 | 202 | ||
204 | printk(KERN_DEBUG "dvb thread stopped\n"); | 203 | printk(KERN_DEBUG "dvb thread stopped\n"); |
205 | 204 | ||
205 | return 0; | ||
206 | } | ||
207 | |||
208 | static int pvr2_dvb_feed_thread(void *data) | ||
209 | { | ||
210 | int stat = pvr2_dvb_feed_func(data); | ||
206 | /* from videobuf-dvb.c: */ | 211 | /* from videobuf-dvb.c: */ |
207 | while (!kthread_should_stop()) { | 212 | while (!kthread_should_stop()) { |
208 | set_current_state(TASK_INTERRUPTIBLE); | 213 | set_current_state(TASK_INTERRUPTIBLE); |
209 | schedule(); | 214 | schedule(); |
210 | } | 215 | } |
211 | return 0; | 216 | return stat; |
212 | } | 217 | } |
213 | 218 | ||
214 | static int pvr2_dvb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff) | 219 | static int pvr2_dvb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff) |