]> www.infradead.org Git - users/jedix/linux-maple.git/commit
qla2xxx: T10 DIF - Fix incorrect error reporting.
authorArun Easi <arun.easi@qlogic.com>
Tue, 16 Aug 2011 18:29:23 +0000 (11:29 -0700)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Fri, 16 Dec 2011 22:29:20 +0000 (14:29 -0800)
commit32f4877fc13fe7c57625722684ae6f4e7f72c027
tree7c05a488713f7b559c5fb7e79ae6f446bbbe9167
parentb71311eda52087822f4f7b5886fc0bee83939929
qla2xxx: T10 DIF - Fix incorrect error reporting.

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: Arun Easi <arun.easi@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_dbg.c
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_inline.h
drivers/scsi/qla2xxx/qla_iocb.c
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_mid.c
drivers/scsi/qla2xxx/qla_os.c