• Arun Easi's avatar
    [SCSI] qla2xxx: T10 DIF - Fix incorrect error reporting. · e02587d7
    Arun Easi authored
    This fix:
        - Disables app tag peeking; correct tag check will be added when the
          SCSI API is available.
        - Always derive ref_tag from scsi_get_lba()
        - Removes incorrect swap of FCP_LUN in FCP_CMND
        - Moves app-tag error check before ref-tag check. The reason being,
          currently there is no interface in SCSI to retrieve the app-tag
          for protection I/Os, so driver puts zero for app-tag in the
          firmware interface, but requests not to validate it, but when a
          ref-tag error is detected by firmware, it would put
          expected/actual tags for all the protection tags (guard/app/ref).
          As driver checks for app tag error first, a ref-tag error is
          incorrectly flagged as app-tag error.
        - Convert HBA specific checks to capability based.
    Signed-off-by: default avatarArun Easi <arun.easi@qlogic.com>
    Signed-off-by: default avatarChad Dupuis <chad.dupuis@qlogic.com>
    Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
    e02587d7
qla_mid.c 20.8 KB