[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0336e738-e5a7-889a-2ee2-f1a951492067@huawei.com>
Date: Thu, 8 Jun 2017 13:09:38 +0100
From: John Garry <john.garry@...wei.com>
To: Christoph Hellwig <hch@...radead.org>
CC: <jejb@...ux.vnet.ibm.com>, <martin.petersen@...cle.com>,
<john.garry2@...l.dcu.ie>, <linuxarm@...wei.com>,
<linux-scsi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<arnd@...db.de>, Xiang Chen <chenxiang66@...ilicon.com>
Subject: Re: [PATCH v3 14/23] scsi: hisi_sas: add v3 cq interrupt handler
On 08/06/2017 08:34, Christoph Hellwig wrote:
> Hi John,
>
> sorry for dropping the ball, but your repost reminded me.
>
> On Thu, Jun 01, 2017 at 11:36:55AM +0100, John Garry wrote:
>> In the command completion code we need to check for abnormal completion due
>> to underflow, but ignore it when it occurs in some commands, like inquiry.
>> This is why we check for rw command - it is equivalent to !inquiry.
>>
>> I'll see if we can change the check to explicitly ignore certain commands
>> which complete abnormally with underflow.
>
> In general it should be up to the higher level and not the driver
> to detect underflow, and that's how most (hopefully all, but I won't
> bet on some older ones) of our drivers operate.
>
Hi Christoph,
Right, I see most LLDDs will not check for underflow; but, FWIW, I do
see scsi_cmnd.underflow referenced in some...
However, for drivers using libsas, we detect underflow for the reason
just so libsas knows the sas_task status (SAS_DATA_UNDERRUN) and sets
the scsi cmd result properly (and also the residual) in sas_end_task().
We used this method for the predecessor hw driver, and I think that we
can revert to it.
Much appreciated,
John
>>
>>> What about 32-byte CDs or things like Write Same?
>>>
>>
>> You're talking about VARIABLE_LENGTH_CMD (opcode 0x7f) for 32-byte CDs,
>> right?
>
> Yes.
>
> .
>
Powered by blists - more mailing lists