diff options
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-encoder.c')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-encoder.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-encoder.c b/drivers/media/video/pvrusb2/pvrusb2-encoder.c index 64062879981e..c46d367f7472 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-encoder.c +++ b/drivers/media/video/pvrusb2/pvrusb2-encoder.c | |||
@@ -278,11 +278,20 @@ static int pvr2_encoder_cmd(void *ctxt, | |||
278 | ret = -EBUSY; | 278 | ret = -EBUSY; |
279 | } | 279 | } |
280 | if (ret) { | 280 | if (ret) { |
281 | del_timer_sync(&hdw->encoder_run_timer); | ||
281 | hdw->state_encoder_ok = 0; | 282 | hdw->state_encoder_ok = 0; |
282 | pvr2_trace(PVR2_TRACE_STBITS, | 283 | pvr2_trace(PVR2_TRACE_STBITS, |
283 | "State bit %s <-- %s", | 284 | "State bit %s <-- %s", |
284 | "state_encoder_ok", | 285 | "state_encoder_ok", |
285 | (hdw->state_encoder_ok ? "true" : "false")); | 286 | (hdw->state_encoder_ok ? "true" : "false")); |
287 | if (hdw->state_encoder_runok) { | ||
288 | hdw->state_encoder_runok = 0; | ||
289 | pvr2_trace(PVR2_TRACE_STBITS, | ||
290 | "State bit %s <-- %s", | ||
291 | "state_encoder_runok", | ||
292 | (hdw->state_encoder_runok ? | ||
293 | "true" : "false")); | ||
294 | } | ||
286 | pvr2_trace( | 295 | pvr2_trace( |
287 | PVR2_TRACE_ERROR_LEGS, | 296 | PVR2_TRACE_ERROR_LEGS, |
288 | "Giving up on command." | 297 | "Giving up on command." |
@@ -480,10 +489,6 @@ int pvr2_encoder_start(struct pvr2_hdw *hdw) | |||
480 | /* unmask some interrupts */ | 489 | /* unmask some interrupts */ |
481 | pvr2_write_register(hdw, 0x0048, 0xbfffffff); | 490 | pvr2_write_register(hdw, 0x0048, 0xbfffffff); |
482 | 491 | ||
483 | /* change some GPIO data */ | ||
484 | pvr2_hdw_gpio_chg_dir(hdw,0xffffffff,0x00000481); | ||
485 | pvr2_hdw_gpio_chg_out(hdw,0xffffffff,0x00000000); | ||
486 | |||
487 | pvr2_encoder_vcmd(hdw,CX2341X_ENC_MUTE_VIDEO,1, | 492 | pvr2_encoder_vcmd(hdw,CX2341X_ENC_MUTE_VIDEO,1, |
488 | hdw->input_val == PVR2_CVAL_INPUT_RADIO ? 1 : 0); | 493 | hdw->input_val == PVR2_CVAL_INPUT_RADIO ? 1 : 0); |
489 | 494 | ||
@@ -526,12 +531,6 @@ int pvr2_encoder_stop(struct pvr2_hdw *hdw) | |||
526 | break; | 531 | break; |
527 | } | 532 | } |
528 | 533 | ||
529 | /* change some GPIO data */ | ||
530 | /* Note: Bit d7 of dir appears to control the LED. So we shut it | ||
531 | off here. */ | ||
532 | pvr2_hdw_gpio_chg_dir(hdw,0xffffffff,0x00000401); | ||
533 | pvr2_hdw_gpio_chg_out(hdw,0xffffffff,0x00000000); | ||
534 | |||
535 | return status; | 534 | return status; |
536 | } | 535 | } |
537 | 536 | ||