aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fdomain.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/fdomain.c')
-rw-r--r--drivers/scsi/fdomain.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index a843c080c1d8..3b2a5bf5c43e 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -570,7 +570,7 @@ static void do_pause(unsigned amount) /* Pause for amount*10 milliseconds */
570 mdelay(10*amount); 570 mdelay(10*amount);
571} 571}
572 572
573inline static void fdomain_make_bus_idle( void ) 573static inline void fdomain_make_bus_idle( void )
574{ 574{
575 outb(0, port_base + SCSI_Cntl); 575 outb(0, port_base + SCSI_Cntl);
576 outb(0, port_base + SCSI_Mode_Cntl); 576 outb(0, port_base + SCSI_Mode_Cntl);
@@ -938,7 +938,6 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt )
938 } 938 }
939 shpnt->irq = interrupt_level; 939 shpnt->irq = interrupt_level;
940 shpnt->io_port = port_base; 940 shpnt->io_port = port_base;
941 scsi_set_device(shpnt, &pdev->dev);
942 shpnt->n_io_port = 0x10; 941 shpnt->n_io_port = 0x10;
943 print_banner( shpnt ); 942 print_banner( shpnt );
944 943
@@ -1543,12 +1542,18 @@ static int fdomain_16x0_abort(struct scsi_cmnd *SCpnt)
1543 1542
1544int fdomain_16x0_bus_reset(struct scsi_cmnd *SCpnt) 1543int fdomain_16x0_bus_reset(struct scsi_cmnd *SCpnt)
1545{ 1544{
1545 unsigned long flags;
1546
1547 local_irq_save(flags);
1548
1546 outb(1, port_base + SCSI_Cntl); 1549 outb(1, port_base + SCSI_Cntl);
1547 do_pause( 2 ); 1550 do_pause( 2 );
1548 outb(0, port_base + SCSI_Cntl); 1551 outb(0, port_base + SCSI_Cntl);
1549 do_pause( 115 ); 1552 do_pause( 115 );
1550 outb(0, port_base + SCSI_Mode_Cntl); 1553 outb(0, port_base + SCSI_Mode_Cntl);
1551 outb(PARITY_MASK, port_base + TMC_Cntl); 1554 outb(PARITY_MASK, port_base + TMC_Cntl);
1555
1556 local_irq_restore(flags);
1552 return SUCCESS; 1557 return SUCCESS;
1553} 1558}
1554 1559