mpt fusion: [2.6.30-rc6] small fix for 1078 data corruption issue
Subsystems (2)
PATCH 4/24 mpt fusion: [2.6.30-rc6] small fix for 1078 data corruption issue
Patch applied on 21/01/2009: "Fixing 1078 data curruption" need this changes also.
message flags will use runtime sense width instead of compile time as explain in patch applied on 21/01/2009 "Fixing 1078 data curruption".
---
Signed-off-by Kashyap Desai <[email protected]>
---
drivers/message/fusion/mptbase.h +4 -3
@@ -767,9 +767,10 @@ typedef struct _mpt_sge { } MptSge_t; -#define mpt_msg_flags () \ - ((sizeof(dma_addr_t) == sizeof(u64)) ? MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_64 : \ - MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_32) +#define mpt_msg_flags (ioc) \ + (ioc->sg_addr_size == sizeof(u64)) ? \ + MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_64 : \ + MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_32#define MPT_SGE_FLAGS_64_BIT_ADDRESSING \ (MPI_SGE_FLAGS_64_BIT_ADDRESSING << MPI_SGE_FLAGS_SHIFT)
drivers/message/fusion/mptctl.c +2 -2
@@ -1895,7 +1895,7 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) } pScsiReq->MsgFlags &= ~MPI_SCSIIO_MSGFLGS_SENSE_WIDTH ; - pScsiReq->MsgFlags |=mpt_msg_flags (); + pScsiReq->MsgFlags |=mpt_msg_flags (ioc);/* verify that app has not requested
@@ -1981,7 +1981,7 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr)int dataSize; pScsiReq->MsgFlags &= ~MPI_SCSIIO_MSGFLGS_SENSE_WIDTH ; - pScsiReq->MsgFlags |=mpt_msg_flags (); + pScsiReq->MsgFlags |=mpt_msg_flags (ioc);/* verify that app has not requested
drivers/message/fusion/mptscsih.c +2 -2
@@ -1357,7 +1357,7 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) pScsiReq->CDBLength = SCpnt->cmd_len; pScsiReq->SenseBufferLength =MPT_SENSE_BUFFER_SIZE ; pScsiReq->Reserved =0 ; - pScsiReq->MsgFlags =mpt_msg_flags (); + pScsiReq->MsgFlags =mpt_msg_flags (ioc);int_to_scsilun (SCpnt->device->lun, (struct scsi_lun *)pScsiReq->LUN); pScsiReq->Control =cpu_to_le32 (scsictl);
@@ -3108,7 +3108,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) pScsiReq->Reserved =0 ; - pScsiReq->MsgFlags =mpt_msg_flags (); + pScsiReq->MsgFlags =mpt_msg_flags (ioc);/* MsgContext set in mpt_get_msg_fram call */ int_to_scsilun (io->lun, (struct scsi_lun *)pScsiReq->LUN);
James Bottomley
maintainerQuoted 4 lines · Desai
Patch applied on 21/01/2009: "Fixing 1078 data curruption" need this changes also.
message flags will use runtime sense width instead of compile time as explain in patch applied on 21/01/2009 "Fixing 1078 data curruption".
This description doesn't make a whole lot of sense, since patch "Fixing 1078 data corruption" is 1/24 of this series ... I take it these two patches should be merged?
James