[SCSI] mpt2sas: Fix for little endian
1. Fixes for little endian issues. 2. Now Debug info for Discovery event is more readable. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
committed by
James Bottomley
parent
b4344276f7
commit
e94f674721
@@ -533,7 +533,7 @@ _ctl_set_task_mid(struct MPT2SAS_ADAPTER *ioc, struct mpt2_ioctl_command *karg,
|
||||
if (!found) {
|
||||
dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: "
|
||||
"handle(0x%04x), lun(%d), no active mid!!\n", ioc->name,
|
||||
desc, tm_request->DevHandle, lun));
|
||||
desc, le16_to_cpu(tm_request->DevHandle), lun));
|
||||
tm_reply = ioc->ctl_cmds.reply;
|
||||
tm_reply->DevHandle = tm_request->DevHandle;
|
||||
tm_reply->Function = MPI2_FUNCTION_SCSI_TASK_MGMT;
|
||||
@@ -551,7 +551,8 @@ _ctl_set_task_mid(struct MPT2SAS_ADAPTER *ioc, struct mpt2_ioctl_command *karg,
|
||||
|
||||
dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: "
|
||||
"handle(0x%04x), lun(%d), task_mid(%d)\n", ioc->name,
|
||||
desc, tm_request->DevHandle, lun, tm_request->TaskMID));
|
||||
desc, le16_to_cpu(tm_request->DevHandle), lun,
|
||||
le16_to_cpu(tm_request->TaskMID)));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -647,9 +648,9 @@ _ctl_do_mpt_command(struct MPT2SAS_ADAPTER *ioc,
|
||||
|
||||
if (mpi_request->Function == MPI2_FUNCTION_SCSI_IO_REQUEST ||
|
||||
mpi_request->Function == MPI2_FUNCTION_RAID_SCSI_IO_PASSTHROUGH) {
|
||||
if (!mpi_request->FunctionDependent1 ||
|
||||
mpi_request->FunctionDependent1 >
|
||||
cpu_to_le16(ioc->facts.MaxDevHandle)) {
|
||||
if (!le16_to_cpu(mpi_request->FunctionDependent1) ||
|
||||
le16_to_cpu(mpi_request->FunctionDependent1) >
|
||||
ioc->facts.MaxDevHandle) {
|
||||
ret = -EINVAL;
|
||||
mpt2sas_base_free_smid(ioc, smid);
|
||||
goto out;
|
||||
@@ -897,11 +898,11 @@ _ctl_do_mpt_command(struct MPT2SAS_ADAPTER *ioc,
|
||||
MPI2_FUNCTION_RAID_SCSI_IO_PASSTHROUGH)) {
|
||||
printk(MPT2SAS_INFO_FMT "issue target reset: handle "
|
||||
"= (0x%04x)\n", ioc->name,
|
||||
mpi_request->FunctionDependent1);
|
||||
le16_to_cpu(mpi_request->FunctionDependent1));
|
||||
mpt2sas_halt_firmware(ioc);
|
||||
mutex_lock(&ioc->tm_cmds.mutex);
|
||||
mpt2sas_scsih_issue_tm(ioc,
|
||||
mpi_request->FunctionDependent1, 0,
|
||||
le16_to_cpu(mpi_request->FunctionDependent1), 0,
|
||||
MPI2_SCSITASKMGMT_TASKTYPE_TARGET_RESET, 0, 10);
|
||||
ioc->tm_cmds.status = MPT2_CMD_NOT_USED;
|
||||
mutex_unlock(&ioc->tm_cmds.mutex);
|
||||
@@ -1373,7 +1374,8 @@ _ctl_diag_register_2(struct MPT2SAS_ADAPTER *ioc,
|
||||
|
||||
dctlprintk(ioc, printk(MPT2SAS_DEBUG_FMT "%s: diag_buffer(0x%p), "
|
||||
"dma(0x%llx), sz(%d)\n", ioc->name, __func__, request_data,
|
||||
(unsigned long long)request_data_dma, mpi_request->BufferLength));
|
||||
(unsigned long long)request_data_dma,
|
||||
le32_to_cpu(mpi_request->BufferLength)));
|
||||
|
||||
for (i = 0; i < MPT2_PRODUCT_SPECIFIC_DWORDS; i++)
|
||||
mpi_request->ProductSpecific[i] =
|
||||
@@ -2334,8 +2336,8 @@ _ctl_version_nvdata_persistent_show(struct device *cdev,
|
||||
struct Scsi_Host *shost = class_to_shost(cdev);
|
||||
struct MPT2SAS_ADAPTER *ioc = shost_priv(shost);
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "%02xh\n",
|
||||
le16_to_cpu(ioc->iounit_pg0.NvdataVersionPersistent.Word));
|
||||
return snprintf(buf, PAGE_SIZE, "%08xh\n",
|
||||
le32_to_cpu(ioc->iounit_pg0.NvdataVersionPersistent.Word));
|
||||
}
|
||||
static DEVICE_ATTR(version_nvdata_persistent, S_IRUGO,
|
||||
_ctl_version_nvdata_persistent_show, NULL);
|
||||
@@ -2354,8 +2356,8 @@ _ctl_version_nvdata_default_show(struct device *cdev,
|
||||
struct Scsi_Host *shost = class_to_shost(cdev);
|
||||
struct MPT2SAS_ADAPTER *ioc = shost_priv(shost);
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "%02xh\n",
|
||||
le16_to_cpu(ioc->iounit_pg0.NvdataVersionDefault.Word));
|
||||
return snprintf(buf, PAGE_SIZE, "%08xh\n",
|
||||
le32_to_cpu(ioc->iounit_pg0.NvdataVersionDefault.Word));
|
||||
}
|
||||
static DEVICE_ATTR(version_nvdata_default, S_IRUGO,
|
||||
_ctl_version_nvdata_default_show, NULL);
|
||||
|
Reference in New Issue
Block a user