• Moger, Babu's avatar
    [SCSI] fix the new host byte settings (DID_TARGET_FAILURE and DID_NEXUS_FAILURE) · 2082ebc4
    Moger, Babu authored
    This patch fixes the host byte settings DID_TARGET_FAILURE and
    DID_NEXUS_FAILURE.  The function __scsi_error_from_host_byte, tries to reset
    the host byte to DID_OK. But that does not happen because of the OR operation.
    
    Here is the flow.
    
    scsi_softirq_done-> scsi_decide_disposition -> __scsi_error_from_host_byte
    
    Let's take an example with DID_NEXUS_FAILURE. In scsi_decide_disposition,
    result will be set as DID_NEXUS_FAILURE (=0x11). Then in
    __scsi_error_from_host_byte, when we do OR with DID_OK.  Purpose is to reset
    it back to DID_OK. But that does not happen.  This patch fixes this issue.
    Signed-off-by: default avatarBabu Moger <babu.moger@netapp.com>
    Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
    2082ebc4
scsi_error.c 58.7 KB