Re: [PATCH v4 4/4] scsi: ufs: add compatibility with 3.1 UFS unit descriptor length

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

 



Avri,


On Sat, 2020-05-30 at 06:56 +0000, Avri Altman wrote:
>  
> > 
> > From: Bean Huo <beanhuo@xxxxxxxxxx>
> > 
> > For UFS 3.1, the normal unit descriptor is 10 bytes larger
> > than the RPMB unit, however, both descriptors share the same
> > desc_idn, to cover both unit descriptors with one length, we
> > choose the normal unit descriptor length by desc_index.
> 
> This is not what your code is doing.
> For RPMB - desc size will not be 0x2d but remain 256.

sorry, I'm afraid I didn't quite get your point here.
would you go over it again in detail please?


> 
> Your strategy is still correct IMO - if you assign the larger size,
> The device will not reply with error, but with the proper buffer.
> 
> You can also rely that reading the rpmb unit descriptor will not
> happen before
> Reading regular luns, because this is happening in the first
> slave_alloc.
>  

On my side, I saw the Well-know LU descriptor is read before
regulaer/normal LU descritptor. see ufshcd_add_lus();

I did further debug to verify my patch, and the unit descriptor read
sequence:

1. read RPMB descriptor: desc_id 2, desc_index 0xc4
2. read LU 0 descriptor: desc_id 2, desc_index 0
3. read LU 0 descriptor: desc_id 2, desc_index 1
4. read LU 0 descriptor: desc_id 2, desc_index 2
5. read LU 0 descriptor: desc_id 2, desc_index 4
....

> Hence, I think you can drop the extra if, and just add the comment.
> 

so, this 'if' is still needed. otherwise, LU descriptor length will be
initialized as 0x23(RPMB descriptor length).

if I am wrong, please correct me.
thanks,

Bean






[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