hubdev_info);
                return;
        }
+       irq_set_handler(SGI_II_ERROR, handle_level_irq);
        sn_set_err_irq_affinity(SGI_II_ERROR);
 }
 
                        hubdev_info);
                return;
        }
+       irq_set_handler(SGI_TIO_ERROR, handle_level_irq);
        sn_set_err_irq_affinity(SGI_TIO_ERROR);
 }
 
 
        spin_lock(&sn_irq_info_lock);
        list_add_rcu(&sn_irq_info->list, sn_irq_lh[sn_irq_info->irq_irq]);
        reserve_irq_vector(sn_irq_info->irq_irq);
+       if (sn_irq_info->irq_int_bit != -1)
+               irq_set_handler(sn_irq_info->irq_irq, handle_level_irq);
        spin_unlock(&sn_irq_info_lock);
 
        register_intr_pda(sn_irq_info);
 
                printk(KERN_WARNING
                       "pcibr cannot allocate interrupt for error handler\n");
        }
+       irq_set_handler(SGI_PCIASIC_ERROR, handle_level_irq);
        sn_set_err_irq_affinity(SGI_PCIASIC_ERROR);
 
        /* 
 
                       __func__, SGI_TIOCA_ERROR,
                       (int)tioca_common->ca_common.bs_persist_busnum);
 
+       irq_set_handler(SGI_TIOCA_ERROR, handle_level_irq);
        sn_set_err_irq_affinity(SGI_TIOCA_ERROR);
 
        /* Setup locality information */
 
                       tioce_common->ce_pcibus.bs_persist_segment,
                       tioce_common->ce_pcibus.bs_persist_busnum);
 
+       irq_set_handler(SGI_PCIASIC_ERROR, handle_level_irq);
        sn_set_err_irq_affinity(SGI_PCIASIC_ERROR);
        return tioce_common;
 }
 
                        spin_lock_irqsave(&port->sc_port.lock, flags);
                        port->sc_port.irq = SGI_UART_VECTOR;
                        port->sc_ops = &intr_ops;
+                       irq_set_handler(port->sc_port.irq, handle_level_irq);
 
                        /* turn on receive interrupts */
                        ia64_sn_console_intr_enable(SAL_CONSOLE_INTR_RECV);