diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-05-28 07:56:31 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-17 13:05:10 -0400 |
commit | 68b3aa7c9805aee9005a8ca53c5e99177961fbb9 (patch) | |
tree | 3f28891df0b3a1ecdfe6a98547d8f3c43b74e905 /drivers/scsi/imm.c | |
parent | 94d0e7b805961c44e4dc486ffc21075084bb7175 (diff) |
[SCSI] allow sleeping in ->eh_bus_reset_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/imm.c')
-rw-r--r-- | drivers/scsi/imm.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/scsi/imm.c b/drivers/scsi/imm.c index be7f2ca0183f..65e845665b85 100644 --- a/drivers/scsi/imm.c +++ b/drivers/scsi/imm.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/blkdev.h> | 18 | #include <linux/blkdev.h> |
19 | #include <linux/parport.h> | 19 | #include <linux/parport.h> |
20 | #include <linux/workqueue.h> | 20 | #include <linux/workqueue.h> |
21 | #include <linux/delay.h> | ||
21 | #include <asm/io.h> | 22 | #include <asm/io.h> |
22 | 23 | ||
23 | #include <scsi/scsi.h> | 24 | #include <scsi/scsi.h> |
@@ -610,9 +611,9 @@ static int imm_init(imm_struct *dev) | |||
610 | if (imm_connect(dev, 0) != 1) | 611 | if (imm_connect(dev, 0) != 1) |
611 | return -EIO; | 612 | return -EIO; |
612 | imm_reset_pulse(dev->base); | 613 | imm_reset_pulse(dev->base); |
613 | udelay(1000); /* Delay to allow devices to settle */ | 614 | mdelay(1); /* Delay to allow devices to settle */ |
614 | imm_disconnect(dev); | 615 | imm_disconnect(dev); |
615 | udelay(1000); /* Another delay to allow devices to settle */ | 616 | mdelay(1); /* Another delay to allow devices to settle */ |
616 | return device_check(dev); | 617 | return device_check(dev); |
617 | } | 618 | } |
618 | 619 | ||
@@ -1026,9 +1027,9 @@ static int imm_reset(struct scsi_cmnd *cmd) | |||
1026 | 1027 | ||
1027 | imm_connect(dev, CONNECT_NORMAL); | 1028 | imm_connect(dev, CONNECT_NORMAL); |
1028 | imm_reset_pulse(dev->base); | 1029 | imm_reset_pulse(dev->base); |
1029 | udelay(1000); /* device settle delay */ | 1030 | mdelay(1); /* device settle delay */ |
1030 | imm_disconnect(dev); | 1031 | imm_disconnect(dev); |
1031 | udelay(1000); /* device settle delay */ | 1032 | mdelay(1); /* device settle delay */ |
1032 | return SUCCESS; | 1033 | return SUCCESS; |
1033 | } | 1034 | } |
1034 | 1035 | ||