patch-1.3.76 linux/drivers/block/promise.c

Next file: linux/drivers/char/ftape/kernel-interface.c
Previous file: linux/drivers/block/ide.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.75/linux/drivers/block/promise.c linux/drivers/block/promise.c
@@ -25,6 +25,7 @@
  *  Version 0.04        Updated for ide.c version 5.30
  *                      Changed initialization strategy
  *  Version 0.05	Kernel integration.  -ml
+ *  Version 0.06	Ooops. Add hwgroup to direct call of ide_intr() -ml
  */
 
 
@@ -58,6 +59,7 @@
 #include <linux/blkdev.h>
 #include <linux/hdreg.h>
 #include <asm/io.h>
+#include <asm/irq.h>
 #include "ide.h"
 #include "promise.h"
 
@@ -319,7 +321,13 @@
 	    do {
 		stat=GET_STAT();
 		if(stat & DRQ_STAT) {
-		    ide_intr(HWIF(drive)->irq,NULL,NULL);
+                    unsigned long flags;
+                    save_flags(flags);
+                    cli();
+                    disable_irq(HWIF(drive)->irq);
+		    ide_intr(HWIF(drive)->irq,HWGROUP(drive),NULL);
+                    enable_irq(HWIF(drive)->irq);
+                    restore_flags(flags);
 		    return;
 		}
 		if(IN_BYTE(io_base+IDE_SELECT_OFFSET) & 0x01)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this