diff options
-rw-r--r-- | drivers/scsi/atp870u.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c index 68ce08552f6..a540162ac59 100644 --- a/drivers/scsi/atp870u.c +++ b/drivers/scsi/atp870u.c | |||
@@ -1173,7 +1173,16 @@ wait_io1: | |||
1173 | outw(val, tmport); | 1173 | outw(val, tmport); |
1174 | outb(2, 0x80); | 1174 | outb(2, 0x80); |
1175 | TCM_SYNC: | 1175 | TCM_SYNC: |
1176 | udelay(0x800); | 1176 | /* |
1177 | * The funny division into multiple delays is to accomodate | ||
1178 | * arches like ARM where udelay() multiplies its argument by | ||
1179 | * a large number to initialize a loop counter. To avoid | ||
1180 | * overflow, the maximum supported udelay is 2000 microseconds. | ||
1181 | * | ||
1182 | * XXX it would be more polite to find a way to use msleep() | ||
1183 | */ | ||
1184 | mdelay(2); | ||
1185 | udelay(48); | ||
1177 | if ((inb(tmport) & 0x80) == 0x00) { /* bsy ? */ | 1186 | if ((inb(tmport) & 0x80) == 0x00) { /* bsy ? */ |
1178 | outw(0, tmport--); | 1187 | outw(0, tmport--); |
1179 | outb(0, tmport); | 1188 | outb(0, tmport); |