if (!request_region(adapter->io, 32, "fcpcipnp"))
                goto err;
 
-       switch (adapter->type) {
-       case AVM_FRITZ_PCIV2:
-               retval = request_irq(adapter->irq, fcpci2_irq, IRQF_SHARED,
-                                    "fcpcipnp", adapter);
-               break;
-       case AVM_FRITZ_PCI:
-               retval = request_irq(adapter->irq, fcpci_irq, IRQF_SHARED,
-                                    "fcpcipnp", adapter);
-               break;
-       case AVM_FRITZ_PNP:
-               retval = request_irq(adapter->irq, fcpci_irq, 0,
-                                    "fcpcipnp", adapter);
-               break;
-       }
-       if (retval)
-               goto err_region;
-
        switch (adapter->type) {
        case AVM_FRITZ_PCIV2:
        case AVM_FRITZ_PCI:
        outb(0, adapter->io + AVM_STATUS0);
        mdelay(10);
 
+       switch (adapter->type) {
+       case AVM_FRITZ_PCIV2:
+               retval = request_irq(adapter->irq, fcpci2_irq, IRQF_SHARED,
+                                    "fcpcipnp", adapter);
+               break;
+       case AVM_FRITZ_PCI:
+               retval = request_irq(adapter->irq, fcpci_irq, IRQF_SHARED,
+                                    "fcpcipnp", adapter);
+               break;
+       case AVM_FRITZ_PNP:
+               retval = request_irq(adapter->irq, fcpci_irq, 0,
+                                    "fcpcipnp", adapter);
+               break;
+       }
+       if (retval)
+               goto err_region;
+
        switch (adapter->type) {
        case AVM_FRITZ_PCIV2:
                fcpci2_init(adapter);