Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / drivers / serial / ioc4_serial.c
index 576ca1e..c620209 100644 (file)
@@ -2646,10 +2646,7 @@ static int ioc4_serial_remove_one(struct ioc4_driver_data *idd)
        struct ioc4_port *port;
        struct ioc4_soft *soft;
 
-       /* If serial driver did not attach, don't try to detach */
        control = idd->idd_serial_data;
-       if (!control)
-               return 0;
 
        for (port_num = 0; port_num < IOC4_NUM_SERIAL_PORTS; port_num++) {
                for (port_type = UART_PORT_MIN;
@@ -2781,12 +2778,6 @@ ioc4_serial_attach_one(struct ioc4_driver_data *idd)
        DPRINT_CONFIG(("%s (0x%p, 0x%p)\n", __FUNCTION__, idd->idd_pdev,
                                                        idd->idd_pci_id));
 
-       /* PCI-RT does not bring out serial connections.
-        * Do not attach to this particular IOC4.
-        */
-       if (idd->idd_variant == IOC4_VARIANT_PCI_RT)
-               return 0;
-
        /* request serial registers */
        tmp_addr1 = idd->idd_bar0 + IOC4_SERIAL_OFFSET;
 
@@ -2855,7 +2846,7 @@ ioc4_serial_attach_one(struct ioc4_driver_data *idd)
        control->ic_soft = soft;
 
        /* Hook up interrupt handler */
-       if (!request_irq(idd->idd_pdev->irq, ioc4_intr, IRQF_SHARED,
+       if (!request_irq(idd->idd_pdev->irq, ioc4_intr, SA_SHIRQ,
                                "sgi-ioc4serial", soft)) {
                control->ic_irq = idd->idd_pdev->irq;
        } else {