patch-2.2.12 linux/drivers/char/isicom.c

Next file: linux/drivers/char/nvram.c
Previous file: linux/drivers/char/ip2main.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.11/linux/drivers/char/isicom.c linux/drivers/char/isicom.c
@@ -1808,6 +1808,7 @@
 static int register_isr(void)
 {
 	int count, done=0, card;
+	int flag;
 	unsigned char request;
 	for (count=0; count < BOARD_COUNT; count++ ) {
 		if (isi_card[count].base) {
@@ -1829,8 +1830,12 @@
 				isi_card[count].base = 0;
 				break;
 			}
+			flag=0;
+			if(isi_card[count].isa == NO)
+				flag |= SA_SHIRQ;
+				
 			if (request == YES) { 
-				if (request_irq(isi_card[count].irq, isicom_interrupt, SA_INTERRUPT, ISICOM_NAME, NULL)) {
+				if (request_irq(isi_card[count].irq, isicom_interrupt, SA_INTERRUPT|flag, ISICOM_NAME, NULL)) {
 					printk(KERN_WARNING "ISICOM: Could not install handler at Irq %d. Card%d will be disabled.\n",
 						isi_card[count].irq, count+1);
 					release_region(isi_card[count].base,16);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)