patch-2.3.16 linux/drivers/block/ide.c
Next file: linux/drivers/block/ll_rw_blk.c
Previous file: linux/drivers/block/ide-proc.c
Back to the patch index
Back to the overall index
- Lines: 21
- Date:
Thu Aug 26 13:44:03 1999
- Orig file:
v2.3.15/linux/drivers/block/ide.c
- Orig date:
Wed Aug 18 16:14:46 1999
diff -u --recursive --new-file v2.3.15/linux/drivers/block/ide.c linux/drivers/block/ide.c
@@ -1200,7 +1200,9 @@
return;
}
hwif = HWIF(drive);
- if (hwgroup->hwif->sharing_irq && hwif != hwgroup->hwif) /* set nIEN for previous hwif */
+ if (hwgroup->hwif->sharing_irq && hwif != hwgroup->hwif &&
+ hwif->io_ports[IDE_CONTROL_OFFSET])
+ /* set nIEN for previous hwif */
OUT_BYTE(hwgroup->drive->ctl|2, hwgroup->hwif->io_ports[IDE_CONTROL_OFFSET]);
hwgroup->hwif = hwif;
hwgroup->drive = drive;
@@ -2277,7 +2279,8 @@
* this point (lost interrupt).
*/
SELECT_DRIVE(HWIF(drive), drive);
- OUT_BYTE(drive->ctl | 2, IDE_CONTROL_REG);
+ if (IDE_CONTROL_REG)
+ OUT_BYTE(drive->ctl | 2, IDE_CONTROL_REG);
OUT_BYTE(speed, IDE_NSECTOR_REG);
OUT_BYTE(SETFEATURES_XFER, IDE_FEATURE_REG);
OUT_BYTE(WIN_SETFEATURES, IDE_COMMAND_REG);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)