Re: [PATCH v2 10/24] uas: zap_pending: data urbs should have completed at this time

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

 



Hi,

On 09/13/2014 09:31 PM, Sergei Shtylyov wrote:
> Hello.
> 
> On 9/13/2014 1:26 PM, Hans de Goede wrote:
> 
>> The data urbs are all killed before calling zap_pending, and their completion
>> handler should have cleared their inflight flag.
> 
>> Do not 0 the data inflight flags, and add a check for try_complete succeeding,
>> as it should always succeed when called from zap_pending.
> 
>> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
>> ---
>>   drivers/usb/storage/uas.c | 10 +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
>> index 08edb6b..85bbc1d 100644
>> --- a/drivers/usb/storage/uas.c
>> +++ b/drivers/usb/storage/uas.c
>> @@ -145,6 +145,7 @@ static void uas_zap_pending(struct uas_dev_info *devinfo, int result)
>>       struct uas_cmd_info *cmdinfo;
>>       struct uas_cmd_info *temp;
>>       unsigned long flags;
>> +    int err;
> 
>    Er, I don't see why this variable is necessary.
> 
> [...]
>> @@ -152,12 +153,11 @@ static void uas_zap_pending(struct uas_dev_info *devinfo, int result)
>>           struct scsi_cmnd *cmnd = container_of(scp, struct scsi_cmnd,
>>                                 SCp);
>>           uas_log_cmd_state(cmnd, __func__);
>> -        /* all urbs are killed, clear inflight bits */
>> -        cmdinfo->state &= ~(COMMAND_INFLIGHT |
>> -                    DATA_IN_URB_INFLIGHT |
>> -                    DATA_OUT_URB_INFLIGHT);
>> +        /* Sense urbs were killed, clear COMMAND_INFLIGHT manually */
>> +        cmdinfo->state &= ~COMMAND_INFLIGHT;
>>           cmnd->result = result << 16;
>> -        uas_try_complete(cmnd, __func__);
>> +        err = uas_try_complete(cmnd, __func__);
>> +        WARN_ON(err != 0);
> 
>    Why not:
> 
>         WARN_ON(uas_try_complete(cmnd, __func__));
> 

This was discussed already during v1 of this patch-set, WARN_ON may
not have a side-effect, as it may be defined as an empty macro.

Regards,

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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux