diff options
author | Giridhar Malavali <gmalavali@marvell.com> | 2018-12-21 09:33:45 -0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2019-01-11 22:08:15 -0500 |
commit | 50b812755e9766fa0a1a28533f4d11a34a5b813e (patch) | |
tree | 726439d7b8aad2a7fff5220e995601e946f244c4 /drivers/scsi/qla2xxx/qla_target.h | |
parent | 7855d2ba1172d716d96a628af7c5bafa5725ac57 (diff) | |
download | linux-50b812755e9766fa0a1a28533f4d11a34a5b813e.tar.gz linux-50b812755e9766fa0a1a28533f4d11a34a5b813e.tar.bz2 linux-50b812755e9766fa0a1a28533f4d11a34a5b813e.zip |
scsi: qla2xxx: Fix DMA error when the DIF sg buffer crosses 4GB boundary
When SGE buffer containing DIF information crosses 4G boundary, it results
in DMA error. This patch fixes this issue by calculating SGE buffer size
and if it crosses 4G boundary, driver will split it into multiple SGE
buffers to avoid DMA error.
Signed-off-by: Giridhar Malavali <gmalavali@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_target.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_target.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index 577e1786a3f1..f3de75000a08 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h @@ -928,6 +928,8 @@ struct qla_tgt_cmd { uint64_t lba; uint16_t a_guard, e_guard, a_app_tag, e_app_tag; uint32_t a_ref_tag, e_ref_tag; +#define DIF_BUNDL_DMA_VALID 1 + uint16_t prot_flags; uint64_t jiffies_at_alloc; uint64_t jiffies_at_free; |