Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/ne2k/ne2k.c

    r071a1ddb rd51838f  
    122122};
    123123
    124 static void ne2k_interrupt_handler(ipc_call_t *, ddf_dev_t *);
    125 
    126 static int ne2k_register_interrupt(nic_t *nic_data, cap_handle_t *handle)
     124static void ne2k_interrupt_handler(ipc_callid_t, ipc_call_t *, ddf_dev_t *);
     125
     126static int ne2k_register_interrupt(nic_t *nic_data)
    127127{
    128128        ne2k_t *ne2k = (ne2k_t *) nic_get_specific(nic_data);
     
    160160        }
    161161
    162         return register_interrupt_handler(nic_get_ddf_dev(nic_data),
    163                 ne2k->irq, ne2k_interrupt_handler, &ne2k->code, handle);
     162        int irq_cap = register_interrupt_handler(nic_get_ddf_dev(nic_data),
     163                ne2k->irq, ne2k_interrupt_handler, &ne2k->code);
     164        return irq_cap;
    164165}
    165166
     
    227228        ne2k->probed = true;
    228229       
    229         if (ne2k_register_interrupt(nic_data, NULL) != EOK)
     230        int irq_cap = ne2k_register_interrupt(nic_data);
     231        if (irq_cap < 0)
    230232                return EINVAL;
    231233       
     
    237239}
    238240
    239 void ne2k_interrupt_handler(ipc_call_t *call, ddf_dev_t *dev)
     241void ne2k_interrupt_handler(ipc_callid_t iid, ipc_call_t *call, ddf_dev_t *dev)
    240242{
    241243        nic_t *nic_data = DRIVER_DATA(dev);
    242244        ne2k_interrupt(nic_data, IRQ_GET_ISR(*call), IRQ_GET_TSR(*call));
     245       
     246        async_answer_0(iid, EOK);
    243247}
    244248
Note: See TracChangeset for help on using the changeset viewer.