aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/aacraid/aachba.c6
-rw-r--r--drivers/scsi/aacraid/aacraid.h4
-rw-r--r--drivers/scsi/aacraid/linit.c7
3 files changed, 6 insertions, 11 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index f9deab686dc4..fc16fe0dfa84 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -365,7 +365,6 @@ static void get_container_name_callback(void *context, struct fib * fibptr)
365 struct scsi_cmnd * scsicmd; 365 struct scsi_cmnd * scsicmd;
366 366
367 scsicmd = (struct scsi_cmnd *) context; 367 scsicmd = (struct scsi_cmnd *) context;
368 scsicmd->SCp.phase = AAC_OWNER_MIDLEVEL;
369 368
370 if (!aac_valid_context(scsicmd, fibptr)) 369 if (!aac_valid_context(scsicmd, fibptr))
371 return; 370 return;
@@ -629,9 +628,9 @@ int aac_probe_container(struct aac_dev *dev, int cid)
629 if (_aac_probe_container(scsicmd, aac_probe_container_callback1) == 0) 628 if (_aac_probe_container(scsicmd, aac_probe_container_callback1) == 0)
630 while (scsicmd->device == scsidev) 629 while (scsicmd->device == scsidev)
631 schedule(); 630 schedule();
631 kfree(scsidev);
632 status = scsicmd->SCp.Status; 632 status = scsicmd->SCp.Status;
633 kfree(scsicmd); 633 kfree(scsicmd);
634 kfree(scsidev);
635 return status; 634 return status;
636} 635}
637 636
@@ -1321,7 +1320,6 @@ static void io_callback(void *context, struct fib * fibptr)
1321 u32 cid; 1320 u32 cid;
1322 1321
1323 scsicmd = (struct scsi_cmnd *) context; 1322 scsicmd = (struct scsi_cmnd *) context;
1324 scsicmd->SCp.phase = AAC_OWNER_MIDLEVEL;
1325 1323
1326 if (!aac_valid_context(scsicmd, fibptr)) 1324 if (!aac_valid_context(scsicmd, fibptr))
1327 return; 1325 return;
@@ -1571,7 +1569,6 @@ static void synchronize_callback(void *context, struct fib *fibptr)
1571 struct scsi_cmnd *cmd; 1569 struct scsi_cmnd *cmd;
1572 1570
1573 cmd = context; 1571 cmd = context;
1574 cmd->SCp.phase = AAC_OWNER_MIDLEVEL;
1575 1572
1576 if (!aac_valid_context(cmd, fibptr)) 1573 if (!aac_valid_context(cmd, fibptr))
1577 return; 1574 return;
@@ -2127,7 +2124,6 @@ static void aac_srb_callback(void *context, struct fib * fibptr)
2127 struct scsi_cmnd *scsicmd; 2124 struct scsi_cmnd *scsicmd;
2128 2125
2129 scsicmd = (struct scsi_cmnd *) context; 2126 scsicmd = (struct scsi_cmnd *) context;
2130 scsicmd->SCp.phase = AAC_OWNER_MIDLEVEL;
2131 2127
2132 if (!aac_valid_context(scsicmd, fibptr)) 2128 if (!aac_valid_context(scsicmd, fibptr))
2133 return; 2129 return;
diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
index 2c0994b448d8..1771851db6ef 100644
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -12,8 +12,8 @@
12 *----------------------------------------------------------------------------*/ 12 *----------------------------------------------------------------------------*/
13 13
14#ifndef AAC_DRIVER_BUILD 14#ifndef AAC_DRIVER_BUILD
15# define AAC_DRIVER_BUILD 2423 15# define AAC_DRIVER_BUILD 2437
16# define AAC_DRIVER_BRANCH "-mh3" 16# define AAC_DRIVER_BRANCH "-mh4"
17#endif 17#endif
18#define MAXIMUM_NUM_CONTAINERS 32 18#define MAXIMUM_NUM_CONTAINERS 32
19 19
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 3cf3f6472e94..a5950c17d62b 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -260,7 +260,6 @@ static int aac_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd
260 (cmd->SCp.phase == AAC_OWNER_FIRMWARE)) 260 (cmd->SCp.phase == AAC_OWNER_FIRMWARE))
261 return 0; /* Already owned by Adapter */ 261 return 0; /* Already owned by Adapter */
262 } 262 }
263 cmd->scsi_done = done;
264 cmd->SCp.phase = AAC_OWNER_LOWLEVEL; 263 cmd->SCp.phase = AAC_OWNER_LOWLEVEL;
265 return (aac_scsi_cmd(cmd) ? FAILED : 0); 264 return (aac_scsi_cmd(cmd) ? FAILED : 0);
266} 265}
@@ -461,15 +460,15 @@ static int aac_ioctl(struct scsi_device *sdev, int cmd, void __user * arg)
461 460
462static int aac_eh_abort(struct scsi_cmnd* cmd) 461static int aac_eh_abort(struct scsi_cmnd* cmd)
463{ 462{
464 struct Scsi_Host * host = cmd->device->host; 463 struct scsi_device * dev = cmd->device;
464 struct Scsi_Host * host = dev->host;
465 struct aac_dev * aac = (struct aac_dev *)host->hostdata; 465 struct aac_dev * aac = (struct aac_dev *)host->hostdata;
466 int count; 466 int count;
467 int ret = FAILED; 467 int ret = FAILED;
468 468
469 printk(KERN_ERR "%s: Host adapter abort request (%d,%d,%d,%d)\n", 469 printk(KERN_ERR "%s: Host adapter abort request (%d,%d,%d,%d)\n",
470 AAC_DRIVERNAME, 470 AAC_DRIVERNAME,
471 cmd->device->host->host_no, sdev_channel(cmd->device), 471 host->host_no, sdev_channel(dev), sdev_id(dev), dev->lun);
472 sdev_id(cmd->device), cmd->device->lun);
473 switch (cmd->cmnd[0]) { 472 switch (cmd->cmnd[0]) {
474 case SERVICE_ACTION_IN: 473 case SERVICE_ACTION_IN:
475 if (!(aac->raw_io_interface) || 474 if (!(aac->raw_io_interface) ||