Re: [PATCH] [media] [pvrusb2]: remove dead retry cmd code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/16/2015 12:29 PM, Haim Daniel wrote:
> It looks that "if (try_count < 20) continue" jumps to end of the  do ...
> while(0) loop and goes out.

Ah, you are right. But that is obviously not what was intended, so just removing
it is not a proper 'fix'.

Mike, can you take a look at this?

Regards,

	Hans

> 
> --hd.
> On Fri, 2015-01-16 at 11:57 +0100, Hans Verkuil wrote:
>> 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.daniel@xxxxxxxxx>
>>> ---
>>>  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux