Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hisax_fcpcipnp: move request_irq later in probe

After a quick glance at the code, we're getting the DEBUG_SHIRQ spurious
interrupt before we have the adapter template filled in. Real interrupts
appear to be turned on by fcpci*_init(), so move request_irq until just before
that.

Signed-off-by: Kyle McMartin <kmcmartin@redhat.com>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Kyle McMartin and committed by
Linus Torvalds
7eb701dc e4465fda

+17 -17
+17 -17
drivers/isdn/hisax/hisax_fcpcipnp.c
··· 725 725 726 726 switch (adapter->type) { 727 727 case AVM_FRITZ_PCIV2: 728 - retval = request_irq(adapter->irq, fcpci2_irq, IRQF_SHARED, 729 - "fcpcipnp", adapter); 730 - break; 731 - case AVM_FRITZ_PCI: 732 - retval = request_irq(adapter->irq, fcpci_irq, IRQF_SHARED, 733 - "fcpcipnp", adapter); 734 - break; 735 - case AVM_FRITZ_PNP: 736 - retval = request_irq(adapter->irq, fcpci_irq, 0, 737 - "fcpcipnp", adapter); 738 - break; 739 - } 740 - if (retval) 741 - goto err_region; 742 - 743 - switch (adapter->type) { 744 - case AVM_FRITZ_PCIV2: 745 728 case AVM_FRITZ_PCI: 746 729 val = inl(adapter->io); 747 730 break; ··· 776 793 mdelay(10); 777 794 outb(0, adapter->io + AVM_STATUS0); 778 795 mdelay(10); 796 + 797 + switch (adapter->type) { 798 + case AVM_FRITZ_PCIV2: 799 + retval = request_irq(adapter->irq, fcpci2_irq, IRQF_SHARED, 800 + "fcpcipnp", adapter); 801 + break; 802 + case AVM_FRITZ_PCI: 803 + retval = request_irq(adapter->irq, fcpci_irq, IRQF_SHARED, 804 + "fcpcipnp", adapter); 805 + break; 806 + case AVM_FRITZ_PNP: 807 + retval = request_irq(adapter->irq, fcpci_irq, 0, 808 + "fcpcipnp", adapter); 809 + break; 810 + } 811 + if (retval) 812 + goto err_region; 779 813 780 814 switch (adapter->type) { 781 815 case AVM_FRITZ_PCIV2: