aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fd_mcs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/fd_mcs.c')
-rw-r--r--drivers/scsi/fd_mcs.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c
index 770930e2aec3..fa652f8aa643 100644
--- a/drivers/scsi/fd_mcs.c
+++ b/drivers/scsi/fd_mcs.c
@@ -1241,18 +1241,9 @@ static int fd_mcs_abort(Scsi_Cmnd * SCpnt)
1241 return SUCCESS; 1241 return SUCCESS;
1242} 1242}
1243 1243
1244static int fd_mcs_host_reset(Scsi_Cmnd * SCpnt)
1245{
1246 return FAILED;
1247}
1248
1249static int fd_mcs_device_reset(Scsi_Cmnd * SCpnt)
1250{
1251 return FAILED;
1252}
1253
1254static int fd_mcs_bus_reset(Scsi_Cmnd * SCpnt) { 1244static int fd_mcs_bus_reset(Scsi_Cmnd * SCpnt) {
1255 struct Scsi_Host *shpnt = SCpnt->device->host; 1245 struct Scsi_Host *shpnt = SCpnt->device->host;
1246 unsigned long flags;
1256 1247
1257#if DEBUG_RESET 1248#if DEBUG_RESET
1258 static int called_once = 0; 1249 static int called_once = 0;
@@ -1269,6 +1260,8 @@ static int fd_mcs_bus_reset(Scsi_Cmnd * SCpnt) {
1269 called_once = 1; 1260 called_once = 1;
1270#endif 1261#endif
1271 1262
1263 spin_lock_irqsave(shpnt->host_lock, flags);
1264
1272 outb(1, SCSI_Cntl_port); 1265 outb(1, SCSI_Cntl_port);
1273 do_pause(2); 1266 do_pause(2);
1274 outb(0, SCSI_Cntl_port); 1267 outb(0, SCSI_Cntl_port);
@@ -1276,6 +1269,8 @@ static int fd_mcs_bus_reset(Scsi_Cmnd * SCpnt) {
1276 outb(0, SCSI_Mode_Cntl_port); 1269 outb(0, SCSI_Mode_Cntl_port);
1277 outb(PARITY_MASK, TMC_Cntl_port); 1270 outb(PARITY_MASK, TMC_Cntl_port);
1278 1271
1272 spin_unlock_irqrestore(shpnt->host_lock, flags);
1273
1279 /* Unless this is the very first call (i.e., SCPnt == NULL), everything 1274 /* Unless this is the very first call (i.e., SCPnt == NULL), everything
1280 is probably hosed at this point. We will, however, try to keep 1275 is probably hosed at this point. We will, however, try to keep
1281 things going by informing the high-level code that we need help. */ 1276 things going by informing the high-level code that we need help. */
@@ -1357,8 +1352,6 @@ static Scsi_Host_Template driver_template = {
1357 .queuecommand = fd_mcs_queue, 1352 .queuecommand = fd_mcs_queue,
1358 .eh_abort_handler = fd_mcs_abort, 1353 .eh_abort_handler = fd_mcs_abort,
1359 .eh_bus_reset_handler = fd_mcs_bus_reset, 1354 .eh_bus_reset_handler = fd_mcs_bus_reset,
1360 .eh_host_reset_handler = fd_mcs_host_reset,
1361 .eh_device_reset_handler = fd_mcs_device_reset,
1362 .bios_param = fd_mcs_biosparam, 1355 .bios_param = fd_mcs_biosparam,
1363 .can_queue = 1, 1356 .can_queue = 1,
1364 .this_id = 7, 1357 .this_id = 7,