aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptfc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/message/fusion/mptfc.c')
-rw-r--r--drivers/message/fusion/mptfc.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c
index a628be9bbbad..ba61e1828858 100644
--- a/drivers/message/fusion/mptfc.c
+++ b/drivers/message/fusion/mptfc.c
@@ -84,13 +84,16 @@ static int mptfcTaskCtx = -1;
84static int mptfcInternalCtx = -1; /* Used only for internal commands */ 84static int mptfcInternalCtx = -1; /* Used only for internal commands */
85 85
86static struct scsi_host_template mptfc_driver_template = { 86static struct scsi_host_template mptfc_driver_template = {
87 .module = THIS_MODULE,
87 .proc_name = "mptfc", 88 .proc_name = "mptfc",
88 .proc_info = mptscsih_proc_info, 89 .proc_info = mptscsih_proc_info,
89 .name = "MPT FC Host", 90 .name = "MPT FC Host",
90 .info = mptscsih_info, 91 .info = mptscsih_info,
91 .queuecommand = mptscsih_qcmd, 92 .queuecommand = mptscsih_qcmd,
93 .target_alloc = mptscsih_target_alloc,
92 .slave_alloc = mptscsih_slave_alloc, 94 .slave_alloc = mptscsih_slave_alloc,
93 .slave_configure = mptscsih_slave_configure, 95 .slave_configure = mptscsih_slave_configure,
96 .target_destroy = mptscsih_target_destroy,
94 .slave_destroy = mptscsih_slave_destroy, 97 .slave_destroy = mptscsih_slave_destroy,
95 .change_queue_depth = mptscsih_change_queue_depth, 98 .change_queue_depth = mptscsih_change_queue_depth,
96 .eh_abort_handler = mptscsih_abort, 99 .eh_abort_handler = mptscsih_abort,
@@ -167,13 +170,15 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
167 printk(MYIOC_s_WARN_FMT 170 printk(MYIOC_s_WARN_FMT
168 "Skipping because it's not operational!\n", 171 "Skipping because it's not operational!\n",
169 ioc->name); 172 ioc->name);
170 return -ENODEV; 173 error = -ENODEV;
174 goto out_mptfc_probe;
171 } 175 }
172 176
173 if (!ioc->active) { 177 if (!ioc->active) {
174 printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n", 178 printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n",
175 ioc->name); 179 ioc->name);
176 return -ENODEV; 180 error = -ENODEV;
181 goto out_mptfc_probe;
177 } 182 }
178 183
179 /* Sanity check - ensure at least 1 port is INITIATOR capable 184 /* Sanity check - ensure at least 1 port is INITIATOR capable
@@ -198,7 +203,8 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
198 printk(MYIOC_s_WARN_FMT 203 printk(MYIOC_s_WARN_FMT
199 "Unable to register controller with SCSI subsystem\n", 204 "Unable to register controller with SCSI subsystem\n",
200 ioc->name); 205 ioc->name);
201 return -1; 206 error = -1;
207 goto out_mptfc_probe;
202 } 208 }
203 209
204 spin_lock_irqsave(&ioc->FreeQlock, flags); 210 spin_lock_irqsave(&ioc->FreeQlock, flags);
@@ -266,7 +272,7 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
266 mem = kmalloc(sz, GFP_ATOMIC); 272 mem = kmalloc(sz, GFP_ATOMIC);
267 if (mem == NULL) { 273 if (mem == NULL) {
268 error = -ENOMEM; 274 error = -ENOMEM;
269 goto mptfc_probe_failed; 275 goto out_mptfc_probe;
270 } 276 }
271 277
272 memset(mem, 0, sz); 278 memset(mem, 0, sz);
@@ -284,14 +290,14 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
284 mem = kmalloc(sz, GFP_ATOMIC); 290 mem = kmalloc(sz, GFP_ATOMIC);
285 if (mem == NULL) { 291 if (mem == NULL) {
286 error = -ENOMEM; 292 error = -ENOMEM;
287 goto mptfc_probe_failed; 293 goto out_mptfc_probe;
288 } 294 }
289 295
290 memset(mem, 0, sz); 296 memset(mem, 0, sz);
291 hd->Targets = (VirtDevice **) mem; 297 hd->Targets = (VirtTarget **) mem;
292 298
293 dprintk((KERN_INFO 299 dprintk((KERN_INFO
294 " Targets @ %p, sz=%d\n", hd->Targets, sz)); 300 " vdev @ %p, sz=%d\n", hd->Targets, sz));
295 301
296 /* Clear the TM flags 302 /* Clear the TM flags
297 */ 303 */
@@ -330,13 +336,13 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
330 if(error) { 336 if(error) {
331 dprintk((KERN_ERR MYNAM 337 dprintk((KERN_ERR MYNAM
332 "scsi_add_host failed\n")); 338 "scsi_add_host failed\n"));
333 goto mptfc_probe_failed; 339 goto out_mptfc_probe;
334 } 340 }
335 341
336 scsi_scan_host(sh); 342 scsi_scan_host(sh);
337 return 0; 343 return 0;
338 344
339mptfc_probe_failed: 345out_mptfc_probe:
340 346
341 mptscsih_remove(pdev); 347 mptscsih_remove(pdev);
342 return error; 348 return error;