diff -uNr cif2.621/src/cif_irq.c cif2.621.new/src/cif_irq.c --- cif2.621/src/cif_irq.c 2006-10-24 11:08:20 +0300 +++ cif2.621.new/src/cif_irq.c 2009-11-20 17:55:03 +0200 @@ -349,7 +349,7 @@ int result = 0; DBG_PRN("dev %p, irq = %X\n", dev, dev->usBoardIrq); - result = request_irq( (unsigned int)(dev->usBoardIrq), cif_interrupt, SA_INTERRUPT, "cif", dev); + result = request_irq( (unsigned int)(dev->usBoardIrq), cif_interrupt, IRQF_DISABLED, "cif", dev); if( result) { dev->usBoardIrq = 0; DBG_PRN("Cant request interrupt on device cif: IRQ = %d, request_irq() Ret = %d\n", diff -uNr cif2.621/src/cif_main.c cif2.621.new/src/cif_main.c --- cif2.621/src/cif_main.c 2007-10-21 14:12:05 +0300 +++ cif2.621.new/src/cif_main.c 2009-11-20 17:53:55 +0200 @@ -51,6 +51,7 @@ #include #include #include +#include #include /* cli(), *_flags */ @@ -473,9 +474,7 @@ //free_irq(dev->usBoardIrq, dev); if( dev->ucBusType == BUS_TYPE_PCI) { if( strncmp(pci_irq, "y", 1) == 0) { - result = cif_request_irq( (unsigned int)(dev->usBoardIrq), - SA_SHIRQ, - "cif", dev); + result = cif_request_irq( (unsigned int)(dev->usBoardIrq), IRQF_SHARED, "cif", dev); if( result == 0) { cif_set_irq_state( HW_INTERRUPT_ENABLE, dev); DBG_PRN("interrupt handler registration OK. Board = %d, dev = 0x%p, irq = %d\n", @@ -491,7 +490,7 @@ dev->usBoardIrq = 0; } } else { // ISA bus supports no irq sharing - result = cif_request_irq( (unsigned int)(dev->usBoardIrq), SA_INTERRUPT, "cif", dev); + result = cif_request_irq( (unsigned int)(dev->usBoardIrq), IRQF_DISABLED, "cif", dev); if( result == 0) { DBG_PRN("ISA interrupt handler registration OK. Board = %d, dev = 0x%p, irq = %d\n", usIdx, dev, dev->usBoardIrq);