patch-2.2.13 linux/drivers/block/ide.c
Next file: linux/drivers/cdrom/cdrom.c
Previous file: linux/drivers/block/ide-pmac.c
Back to the patch index
Back to the overall index
- Lines: 21
- Date:
Tue Oct 19 17:14:00 1999
- Orig file:
v2.2.12/linux/drivers/block/ide.c
- Orig date:
Mon Aug 9 16:05:55 1999
diff -u --recursive --new-file v2.2.12/linux/drivers/block/ide.c linux/drivers/block/ide.c
@@ -1171,7 +1171,7 @@
spin_unlock_irqrestore(&io_request_lock, io_flags);
if (hwif->irq != masked_irq)
- disable_irq(hwif->irq);
+ disable_irq_nosync(hwif->irq);
spin_unlock_irqrestore(&hwgroup->spinlock, *hwgroup_flags);
start_request(drive);
spin_lock_irqsave(&hwgroup->spinlock, *hwgroup_flags);
@@ -1541,8 +1541,10 @@
do_hwgroup_request(hwgroup);
save_flags(flags); /* all CPUs; overkill? */
cli(); /* all CPUs; overkill? */
- if (action == ide_wait && rq->rq_status != RQ_INACTIVE)
+ if (action == ide_wait)
+ {
down(&sem); /* wait for it to be serviced */
+ }
restore_flags(flags); /* all CPUs; overkill? */
return rq->errors ? -EIO : 0; /* return -EIO if errors */
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)