aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/csiostor
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-28 15:43:43 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-28 15:43:43 -0500
commit21f3b24da9328415792efc780f50b9f434c12465 (patch)
tree446ad6d2154e0f05bcb079cb99a144102c682eb9 /drivers/scsi/csiostor
parent2a7d2b96d5cba7568139d9ab157a0e97ab32440f (diff)
parent2b4df6ea53d05625e9ca2dd73bc0e831976e009d (diff)
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull first round of SCSI updates from James Bottomley: "The patch set is mostly driver updates (bnx2fc, ipr, lpfc, qla4) and a few bug fixes" Pull delayed because google hates James, and sneakily considers his pull requests spam. Why, google, why? * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (60 commits) [SCSI] aacraid: 1024 max outstanding command support for Series 7 and above [SCSI] bnx2fc: adjust duplicate test [SCSI] qla4xxx: Update driver version to 5.03.00-k4 [SCSI] qla4xxx: Fix return code for qla4xxx_session_get_param. [SCSI] qla4xxx: wait for boot target login response during probe. [SCSI] qla4xxx: Added support for force firmware dump [SCSI] qla4xxx: Re-register IRQ handler while retrying initialize of adapter [SCSI] qla4xxx: Throttle active IOCBs to firmware limits [SCSI] qla4xxx: Remove unnecessary code from qla4xxx_init_local_data [SCSI] qla4xxx: Quiesce driver activities while loopback [SCSI] qla4xxx: Rename MBOX_ASTS_IDC_NOTIFY to MBOX_ASTS_IDC_REQUEST_NOTIFICATION [SCSI] qla4xxx: Add spurious interrupt messages under debug level 2 [SCSI] cxgb4i: Remove the scsi host device when removing device [SCSI] bfa: fix strncpy() limiter in bfad_start_ops() [SCSI] qla4xxx: Update driver version to 5.03.00-k3 [SCSI] qla4xxx: Correct the validation to check in get_sys_info mailbox [SCSI] qla4xxx: Pass correct function param to qla4_8xxx_rd_direct [SCSI] lpfc 8.3.37: Update lpfc version for 8.3.37 driver release [SCSI] lpfc 8.3.37: Fixed infinite loop in lpfc_sli4_fcf_rr_next_index_get. [SCSI] lpfc 8.3.37: Fixed crash due to SLI Port invalid resource count ...
Diffstat (limited to 'drivers/scsi/csiostor')
-rw-r--r--drivers/scsi/csiostor/csio_hw.c15
-rw-r--r--drivers/scsi/csiostor/csio_init.c9
2 files changed, 10 insertions, 14 deletions
diff --git a/drivers/scsi/csiostor/csio_hw.c b/drivers/scsi/csiostor/csio_hw.c
index 8ecdb94a59f4..bdd78fb4fc70 100644
--- a/drivers/scsi/csiostor/csio_hw.c
+++ b/drivers/scsi/csiostor/csio_hw.c
@@ -2131,13 +2131,16 @@ csio_hw_flash_config(struct csio_hw *hw, u32 *fw_cfg_param, char *path)
2131 value_to_add = 4 - (cf->size % 4); 2131 value_to_add = 4 - (cf->size % 4);
2132 2132
2133 cfg_data = kzalloc(cf->size+value_to_add, GFP_KERNEL); 2133 cfg_data = kzalloc(cf->size+value_to_add, GFP_KERNEL);
2134 if (cfg_data == NULL) 2134 if (cfg_data == NULL) {
2135 return -ENOMEM; 2135 ret = -ENOMEM;
2136 goto leave;
2137 }
2136 2138
2137 memcpy((void *)cfg_data, (const void *)cf->data, cf->size); 2139 memcpy((void *)cfg_data, (const void *)cf->data, cf->size);
2138 2140 if (csio_hw_check_fwconfig(hw, fw_cfg_param) != 0) {
2139 if (csio_hw_check_fwconfig(hw, fw_cfg_param) != 0) 2141 ret = -EINVAL;
2140 return -EINVAL; 2142 goto leave;
2143 }
2141 2144
2142 mtype = FW_PARAMS_PARAM_Y_GET(*fw_cfg_param); 2145 mtype = FW_PARAMS_PARAM_Y_GET(*fw_cfg_param);
2143 maddr = FW_PARAMS_PARAM_Z_GET(*fw_cfg_param) << 16; 2146 maddr = FW_PARAMS_PARAM_Z_GET(*fw_cfg_param) << 16;
@@ -2149,9 +2152,9 @@ csio_hw_flash_config(struct csio_hw *hw, u32 *fw_cfg_param, char *path)
2149 strncpy(path, "/lib/firmware/" CSIO_CF_FNAME, 64); 2152 strncpy(path, "/lib/firmware/" CSIO_CF_FNAME, 64);
2150 } 2153 }
2151 2154
2155leave:
2152 kfree(cfg_data); 2156 kfree(cfg_data);
2153 release_firmware(cf); 2157 release_firmware(cf);
2154
2155 return ret; 2158 return ret;
2156} 2159}
2157 2160
diff --git a/drivers/scsi/csiostor/csio_init.c b/drivers/scsi/csiostor/csio_init.c
index c323b2030afa..0604b5ff3638 100644
--- a/drivers/scsi/csiostor/csio_init.c
+++ b/drivers/scsi/csiostor/csio_init.c
@@ -60,13 +60,6 @@ static struct scsi_transport_template *csio_fcoe_transport_vport;
60/* 60/*
61 * debugfs support 61 * debugfs support
62 */ 62 */
63static int
64csio_mem_open(struct inode *inode, struct file *file)
65{
66 file->private_data = inode->i_private;
67 return 0;
68}
69
70static ssize_t 63static ssize_t
71csio_mem_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) 64csio_mem_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
72{ 65{
@@ -110,7 +103,7 @@ csio_mem_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
110 103
111static const struct file_operations csio_mem_debugfs_fops = { 104static const struct file_operations csio_mem_debugfs_fops = {
112 .owner = THIS_MODULE, 105 .owner = THIS_MODULE,
113 .open = csio_mem_open, 106 .open = simple_open,
114 .read = csio_mem_read, 107 .read = csio_mem_read,
115 .llseek = default_llseek, 108 .llseek = default_llseek,
116}; 109};