patch-2.3.41 linux/drivers/block/ide.c
Next file: linux/drivers/block/ll_rw_blk.c
Previous file: linux/drivers/block/ide-tape.c
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
Mon Jan 24 11:24:50 2000
- Orig file:
v2.3.40/linux/drivers/block/ide.c
- Orig date:
Fri Jan 21 18:19:16 2000
diff -u --recursive --new-file v2.3.40/linux/drivers/block/ide.c linux/drivers/block/ide.c
@@ -655,14 +655,17 @@
static void pre_reset (ide_drive_t *drive)
{
+ if (drive->driver != NULL)
+ DRIVER(drive)->pre_reset(drive);
+
if (!drive->keep_settings) {
- drive->unmask = 0;
- drive->io_32bit = 0;
- if (drive->using_dma)
+ if (drive->using_dma) {
(void) HWIF(drive)->dmaproc(ide_dma_off, drive);
+ } else {
+ drive->unmask = 0;
+ drive->io_32bit = 0;
+ }
}
- if (drive->driver != NULL)
- DRIVER(drive)->pre_reset(drive);
}
/*
@@ -901,7 +904,7 @@
try_to_flush_leftover_data(drive);
}
if (GET_STAT() & (BUSY_STAT|DRQ_STAT))
- rq->errors |= ERROR_RESET; /* Mmmm.. timing problem */
+ OUT_BYTE(WIN_IDLEIMMEDIATE,IDE_COMMAND_REG); /* force an abort */
if (rq->errors >= ERROR_MAX) {
if (drive->driver != NULL)
@@ -1825,7 +1828,7 @@
revalidate_drives();
#ifdef CONFIG_KMOD
if (!found && type == IDE_PROBE_MODULE)
- (void) request_module("ide-probe");
+ (void) request_module("ide-probe-mod");
#endif /* CONFIG_KMOD */
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)