diff options
author | James Bottomley <JBottomley@Parallels.com> | 2013-07-24 15:43:18 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-07-24 17:18:12 -0400 |
commit | e1be09808e030d57bb743618eb41e2bc31dd464c (patch) | |
tree | d17034c79f22fbd304ab95146e8f9de22ad30f96 | |
parent | 53a983c4f8b4246f5ff00567411be55967b0350a (diff) |
[SCSI] isci: fix breakage caused by >16byte CDB patch
Oops, apparently no-one I cc'd at intel actually bothered to check this
patch for the isci driver:
commit e73823f7a2c921dcf068d34ea03bd682498d9e42
Author: James Bottomley <JBottomley@Parallels.com>
Date: Tue May 7 15:38:18 2013 -0700
[SCSI] libsas: implement > 16 byte CDB support
sci_swab32_cpy needs multiples of four, so for commands that aren't that, it's
rounding the wrong way. fix by doing (len+3)/4 instead of len/4.
Reported-by: Tony Luck <tony.luck@intel.com>
Tested-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r-- | drivers/scsi/isci/request.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/isci/request.c b/drivers/scsi/isci/request.c index 7b082157eb79..99d2930b18c8 100644 --- a/drivers/scsi/isci/request.c +++ b/drivers/scsi/isci/request.c | |||
@@ -185,7 +185,7 @@ static void sci_io_request_build_ssp_command_iu(struct isci_request *ireq) | |||
185 | cmd_iu->_r_c = 0; | 185 | cmd_iu->_r_c = 0; |
186 | 186 | ||
187 | sci_swab32_cpy(&cmd_iu->cdb, task->ssp_task.cmd->cmnd, | 187 | sci_swab32_cpy(&cmd_iu->cdb, task->ssp_task.cmd->cmnd, |
188 | task->ssp_task.cmd->cmd_len / sizeof(u32)); | 188 | (task->ssp_task.cmd->cmd_len+3) / sizeof(u32)); |
189 | } | 189 | } |
190 | 190 | ||
191 | static void sci_task_request_build_ssp_task_iu(struct isci_request *ireq) | 191 | static void sci_task_request_build_ssp_task_iu(struct isci_request *ireq) |