aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aha1542.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/aha1542.c')
-rw-r--r--drivers/scsi/aha1542.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c
index e9920a009593..9ec4641a6348 100644
--- a/drivers/scsi/aha1542.c
+++ b/drivers/scsi/aha1542.c
@@ -1348,20 +1348,6 @@ static int aha1542_restart(struct Scsi_Host *shost)
1348 return 0; 1348 return 0;
1349} 1349}
1350 1350
1351static int aha1542_abort(Scsi_Cmnd * SCpnt)
1352{
1353
1354 /*
1355 * The abort command does not leave the device in a clean state where
1356 * it is available to be used again. Until this gets worked out, we
1357 * will leave it commented out.
1358 */
1359
1360 printk(KERN_ERR "aha1542.c: Unable to abort command for target %d\n",
1361 SCpnt->device->id);
1362 return FAILED;
1363}
1364
1365/* 1351/*
1366 * This is a device reset. This is handled by sending a special command 1352 * This is a device reset. This is handled by sending a special command
1367 * to the device. 1353 * to the device.
@@ -1478,8 +1464,8 @@ static int aha1542_bus_reset(Scsi_Cmnd * SCpnt)
1478 * check for timeout, and if we are doing something like this 1464 * check for timeout, and if we are doing something like this
1479 * we are pretty desperate anyways. 1465 * we are pretty desperate anyways.
1480 */ 1466 */
1481 spin_unlock_irq(SCpnt->device->host->host_lock);
1482 ssleep(4); 1467 ssleep(4);
1468
1483 spin_lock_irq(SCpnt->device->host->host_lock); 1469 spin_lock_irq(SCpnt->device->host->host_lock);
1484 1470
1485 WAIT(STATUS(SCpnt->device->host->io_port), 1471 WAIT(STATUS(SCpnt->device->host->io_port),
@@ -1517,9 +1503,11 @@ static int aha1542_bus_reset(Scsi_Cmnd * SCpnt)
1517 } 1503 }
1518 } 1504 }
1519 1505
1506 spin_unlock_irq(SCpnt->device->host->host_lock);
1520 return SUCCESS; 1507 return SUCCESS;
1521 1508
1522fail: 1509fail:
1510 spin_unlock_irq(SCpnt->device->host->host_lock);
1523 return FAILED; 1511 return FAILED;
1524} 1512}
1525 1513
@@ -1542,7 +1530,6 @@ static int aha1542_host_reset(Scsi_Cmnd * SCpnt)
1542 * check for timeout, and if we are doing something like this 1530 * check for timeout, and if we are doing something like this
1543 * we are pretty desperate anyways. 1531 * we are pretty desperate anyways.
1544 */ 1532 */
1545 spin_unlock_irq(SCpnt->device->host->host_lock);
1546 ssleep(4); 1533 ssleep(4);
1547 spin_lock_irq(SCpnt->device->host->host_lock); 1534 spin_lock_irq(SCpnt->device->host->host_lock);
1548 1535
@@ -1586,9 +1573,11 @@ static int aha1542_host_reset(Scsi_Cmnd * SCpnt)
1586 } 1573 }
1587 } 1574 }
1588 1575
1576 spin_unlock_irq(SCpnt->device->host->host_lock);
1589 return SUCCESS; 1577 return SUCCESS;
1590 1578
1591fail: 1579fail:
1580 spin_unlock_irq(SCpnt->device->host->host_lock);
1592 return FAILED; 1581 return FAILED;
1593} 1582}
1594 1583
@@ -1817,7 +1806,6 @@ static Scsi_Host_Template driver_template = {
1817 .detect = aha1542_detect, 1806 .detect = aha1542_detect,
1818 .release = aha1542_release, 1807 .release = aha1542_release,
1819 .queuecommand = aha1542_queuecommand, 1808 .queuecommand = aha1542_queuecommand,
1820 .eh_abort_handler = aha1542_abort,
1821 .eh_device_reset_handler= aha1542_dev_reset, 1809 .eh_device_reset_handler= aha1542_dev_reset,
1822 .eh_bus_reset_handler = aha1542_bus_reset, 1810 .eh_bus_reset_handler = aha1542_bus_reset,
1823 .eh_host_reset_handler = aha1542_host_reset, 1811 .eh_host_reset_handler = aha1542_host_reset,