diff --git a/src/add-ons/kernel/drivers/network/ipro1000/if_em.c b/src/add-ons/kernel/drivers/network/ipro1000/if_em.c index 76957077ba..f0650ab0f4 100644 --- a/src/add-ons/kernel/drivers/network/ipro1000/if_em.c +++ b/src/add-ons/kernel/drivers/network/ipro1000/if_em.c @@ -758,7 +758,6 @@ em_intr(void *arg) ifp = &adapter->interface_data.ac_if; - reg_icr = E1000_READ_REG(&adapter->hw, ICR); if (!reg_icr) { return B_UNHANDLED_INTERRUPT; @@ -770,7 +769,6 @@ em_intr(void *arg) release_event_sem = true; } - while (loop_cnt > 0) { if (ifp->if_flags & IFF_RUNNING) { em_process_receive_interrupts(adapter, -1); @@ -1530,6 +1528,9 @@ em_allocate_pci_resources(struct adapter * adapter) adapter->unit); return(ENXIO); } + + adapter->hw.back = &adapter->osdep; + if (bus_setup_intr(dev, adapter->res_interrupt, INTR_TYPE_NET, em_intr, adapter, &adapter->int_handler_tag)) { @@ -1538,9 +1539,7 @@ em_allocate_pci_resources(struct adapter * adapter) return(ENXIO); } - adapter->hw.back = &adapter->osdep; - - return(0); + return 0; } static void