-----Original Message-----
From: James Bottomley [mailto:[email protected]]
Sent: Wednesday, March 07, 2012 6:13 AM
To: Nandigama, Nagalakshmi
Cc: [email protected]; linux-scsi
Subject: Re: [RESEND PATCH] mptsas: Fixed code to check whether the LU type is
SSC or not for SILI bit in READ_6 and READ_16 CDB
On Tue, 2012-03-06 at 12:16 +0530, [email protected] wrote:
>> This SILI bit (suppress incorrect length indicator) is defined only for SSC
>> READ(6) and READ(16) commands. For other device types bit is part of LBA
>This isn't right ... it is for READ(6) but it's FUA_NV for
>READ(10,12,16) on block devices.
For READ6, READ16 SSC commands, the BIT 1of BYTE 2 is SILI. (As per SSC4 specs)
For block commands, the BIT 1of BYTE 2 is part of LBA for READ6 and FUA_NV bit
for
READ(10,12,16).
So it is required to check whether the logical unit is SSC device or not when
checking SILI bit.
So in the patch which I sent, I added this piece of code.
>> field. In the current implementation, it is not checked whether the logical
>> unit is a SSC device.
>>
>>
>> Added code for checking the LU type is SSC for SILI bit in READ_6 and
>> READ_16 CDB
>I still don't have a description of what you think the actual bug is.
>
>I think the problem is that strict block length checking is accidentally
>turned off if FUA_NV is set on a block device (which currently doesn't
>happen in practise ... nor do we ever really use READ_6 for block
>devices) ... is that it?
>James
Regards,
Nagalakshmi
N�����r��y����b�X��ǧv�^�){.n�+������z)����w*jg��������ݢj/���z�ޖ��2�ޙ����&�)ߡ�a�����G���h��j:+v���w��٥