On 01/05/2015 11:38 PM, Haim Daniel wrote:
> In case a command is timed out, current flow sets the retry_flag
> and does nothing.

Really? That's not how I read the code: it retries up to 20 times before
bailing out.

Perhaps you missed the "if (try_count < 20) continue;" line?

Regards,

        Hans

> 
> Signed-off-by: Haim Daniel <haim.dan...@gmail.com>
> ---
>  drivers/media/usb/pvrusb2/pvrusb2-encoder.c | 15 +--------------
>  1 file changed, 1 insertion(+), 14 deletions(-)
> 
> diff --git a/drivers/media/usb/pvrusb2/pvrusb2-encoder.c 
> b/drivers/media/usb/pvrusb2/pvrusb2-encoder.c
> index f7702ae..02028aa 100644
> --- a/drivers/media/usb/pvrusb2/pvrusb2-encoder.c
> +++ b/drivers/media/usb/pvrusb2/pvrusb2-encoder.c
> @@ -145,8 +145,6 @@ static int pvr2_encoder_cmd(void *ctxt,
>                           u32 *argp)
>  {
>       unsigned int poll_count;
> -     unsigned int try_count = 0;
> -     int retry_flag;
>       int ret = 0;
>       unsigned int idx;
>       /* These sizes look to be limited by the FX2 firmware implementation */
> @@ -213,8 +211,6 @@ static int pvr2_encoder_cmd(void *ctxt,
>                       break;
>               }
>  
> -             retry_flag = 0;
> -             try_count++;
>               ret = 0;
>               wrData[0] = 0;
>               wrData[1] = cmd;
> @@ -245,11 +241,9 @@ static int pvr2_encoder_cmd(void *ctxt,
>                       }
>                       if (rdData[0] && (poll_count < 1000)) continue;
>                       if (!rdData[0]) {
> -                             retry_flag = !0;
>                               pvr2_trace(
>                                       PVR2_TRACE_ERROR_LEGS,
> -                                     "Encoder timed out waiting for us"
> -                                     "; arranging to retry");
> +                                     "Encoder timed out waiting for us");
>                       } else {
>                               pvr2_trace(
>                                       PVR2_TRACE_ERROR_LEGS,
> @@ -269,13 +263,6 @@ static int pvr2_encoder_cmd(void *ctxt,
>                       ret = -EBUSY;
>                       break;
>               }
> -             if (retry_flag) {
> -                     if (try_count < 20) continue;
> -                     pvr2_trace(
> -                             PVR2_TRACE_ERROR_LEGS,
> -                             "Too many retries...");
> -                     ret = -EBUSY;
> -             }
>               if (ret) {
>                       del_timer_sync(&hdw->encoder_run_timer);
>                       hdw->state_encoder_ok = 0;
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to