Commit e1be0980 authored by James Bottomley's avatar James Bottomley

[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 e73823f7
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: default avatarTony Luck <tony.luck@intel.com>
Tested-by: default avatarTony Luck <tony.luck@intel.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 53a983c4
...@@ -185,7 +185,7 @@ static void sci_io_request_build_ssp_command_iu(struct isci_request *ireq) ...@@ -185,7 +185,7 @@ static void sci_io_request_build_ssp_command_iu(struct isci_request *ireq)
cmd_iu->_r_c = 0; cmd_iu->_r_c = 0;
sci_swab32_cpy(&cmd_iu->cdb, task->ssp_task.cmd->cmnd, sci_swab32_cpy(&cmd_iu->cdb, task->ssp_task.cmd->cmnd,
task->ssp_task.cmd->cmd_len / sizeof(u32)); (task->ssp_task.cmd->cmd_len+3) / sizeof(u32));
} }
static void sci_task_request_build_ssp_task_iu(struct isci_request *ireq) static void sci_task_request_build_ssp_task_iu(struct isci_request *ireq)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment