Re: [PATCH V3 09/16] scsi: ufs: introduce well known logical unit in ufs

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

 



2014-09-15 19:39 GMT+09:00 Dolev Raviv <draviv@xxxxxxxxxxxxxx>:
>
>> 2014-09-10 20:54 GMT+09:00 Dolev Raviv <draviv@xxxxxxxxxxxxxx>:
>>> +static void ufshcd_set_queue_depth(struct scsi_device *sdev)
>>> +{
>>> +       int ret = 0;
>>> +       u8 lun_qdepth;
>>> +       struct ufs_hba *hba;
>>> +
>>> +       hba = shost_priv(sdev->host);
>>> +
>>> +       lun_qdepth = hba->nutrs;
>>> +       ret = ufshcd_read_unit_desc_param(hba,
>>> +
>>> ufshcd_scsi_to_upiu_lun(sdev->lun),
>>> +                                         UNIT_DESC_PARAM_LU_Q_DEPTH,
>>> +                                         &lun_qdepth,
>>> +                                         sizeof(lun_qdepth));
>>> +
>>> +       /* Some WLUN doesn't support unit descriptor */
>>> +       if (ret == -EOPNOTSUPP)
>>> +               lun_qdepth = 1;
>>> +       else if (!lun_qdepth)
>>> +               /* eventually, we can figure out the real queue depth */
>>> +               lun_qdepth = hba->nutrs;
>>> +       else
>>> +               lun_qdepth = min_t(int, lun_qdepth, hba->nutrs);
>>
>> If ufshcd_read_unit_desc_param() failed and its error code was not
>> -EOPNOTSUPP, lun_qdepth is undefined.  In such cases lun_qdepth
>> should be 1?
>
> I'm not sure I follow your concern.
> If this lun does not support command queuing (ret == -EOPNOTSUPP)
> obviously, lun_qdepth should be 1.
> If there was an error and lun_qdepth, was returned as 0, hba->nutrs will
> be our default choice.
> last, even if the query succeed we want to make sure we don't exceed the
> hba->nutrs.

I missed that the local variable lun_qdepth is initialized to
hba->nutrs just before calling ufshcd_read_unit_desc_param().  So what
I said undefined in the last message was just wrong.  Thanks for the
clarification.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux