On 10/22/19 1:16 AM, Finn Thain wrote:
> On Mon, 21 Oct 2019, Hannes Reinecke wrote:
>
>> Use standard SCSI status and drop usage of the linux-specific ones.
>>
>> Signed-off-by: Hannes Reinecke <[email protected]>
>> ---
>> drivers/scsi/wd33c93.c | 21 ++++++++-------------
>> 1 file changed, 8 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/scsi/wd33c93.c b/drivers/scsi/wd33c93.c
>> index f81046f0e68a..98e04a7b9d63 100644
>> --- a/drivers/scsi/wd33c93.c
>> +++ b/drivers/scsi/wd33c93.c
>> @@ -1176,10 +1176,8 @@ wd33c93_intr(struct Scsi_Host *instance)
>> if (cmd->SCp.Status == ILLEGAL_STATUS_BYTE)
>> cmd->SCp.Status = lun;
>> if (cmd->cmnd[0] == REQUEST_SENSE
>> - && cmd->SCp.Status != GOOD)
>> - cmd->result =
>> - (cmd->
>> - result & 0x00ffff) | (DID_ERROR << 16);
>> + && cmd->SCp.Status != SAM_STAT_GOOD)
>> + set_host_byte(cmd, DID_ERROR);
>
> This isn't obviously equivalent. Perhaps the set_host_byte() changes
> should be done in a separate patch to the SAM_STAT_FOO changes (?)
>
Yes, indeed.
Will be fixing it up in the next round.
>> else
>> cmd->result =
>> cmd->SCp.Status | (cmd->SCp.Message << 8);
>> @@ -1262,9 +1260,8 @@ wd33c93_intr(struct Scsi_Host *instance)
>> hostdata->connected = NULL;
>> hostdata->busy[cmd->device->id] &= ~(1 << (cmd->device->lun &
>> 0xff));
>> hostdata->state = S_UNCONNECTED;
>> - if (cmd->cmnd[0] == REQUEST_SENSE && cmd->SCp.Status != GOOD)
>> - cmd->result =
>> - (cmd->result & 0x00ffff) | (DID_ERROR << 16);
>> + if (cmd->cmnd[0] == REQUEST_SENSE && cmd->SCp.Status !=
>> SAM_STAT_GOOD)
>> + set_host_byte(cmd, DID_ERROR);
>
> Same.
>
>> else
>> cmd->result = cmd->SCp.Status | (cmd->SCp.Message << 8);
>> cmd->scsi_done(cmd);
>> @@ -1294,12 +1291,10 @@ wd33c93_intr(struct Scsi_Host *instance)
>> hostdata->connected = NULL;
>> hostdata->busy[cmd->device->id] &= ~(1 <<
>> (cmd->device->lun & 0xff));
>> hostdata->state = S_UNCONNECTED;
>> - DB(DB_INTR, printk(":%d", cmd->SCp.Status))
>> - if (cmd->cmnd[0] == REQUEST_SENSE
>> - && cmd->SCp.Status != GOOD)
>> - cmd->result =
>> - (cmd->
>> - result & 0x00ffff) | (DID_ERROR << 16);
>> + DB(DB_INTR, printk(":%d", cmd->SCp.Status));
>> + if (cmd->cmnd[0] == REQUEST_SENSE
>> + && cmd->SCp.Status != SAM_STAT_GOOD)
>> + set_host_byte(cmd->result, DID_ERROR);
>
> Same.
>
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
[email protected] +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 247165 (AG München), GF: Felix Imendörffer