diff options
| author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-03-17 16:24:52 +0530 | 
|---|---|---|
| committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 09:23:59 -0500 | 
| commit | e94f67472106e5a0e97c79090211c551e69e889b (patch) | |
| tree | 653fdf5d1733a902c04517f0941ccbb69db9f428 /drivers/scsi/mpt2sas/mpt2sas_ctl.c | |
| parent | b4344276f75827f609ebef886b292653bec38f92 (diff) | |
| download | olio-linux-3.10-e94f67472106e5a0e97c79090211c551e69e889b.tar.xz olio-linux-3.10-e94f67472106e5a0e97c79090211c551e69e889b.zip  | |
[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>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_ctl.c')
| -rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_ctl.c | 26 | 
1 files changed, 14 insertions, 12 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_ctl.c b/drivers/scsi/mpt2sas/mpt2sas_ctl.c index fa9bf83819d..ae55a912baf 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_ctl.c +++ b/drivers/scsi/mpt2sas/mpt2sas_ctl.c @@ -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);  |