Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/irq.c

    r9233e9d rc1f68b0  
    294294        /* Free up the IRQ code and associated structures. */
    295295        code_free(irq->notif_cfg.code);
    296         slab_free(irq_cache, irq);
     296        slab_free(irq_slab, irq);
    297297}
    298298
     
    308308 * @param ucode   Uspace pointer to top-half IRQ code.
    309309 *
    310  * @param[out] uspace_handle  Uspace pointer to IRQ capability handle
    311  *
    312  * @return  Error code.
     310 * @return  IRQ capability handle.
     311 * @return  Negative error code.
    313312 *
    314313 */
    315314int ipc_irq_subscribe(answerbox_t *box, inr_t inr, sysarg_t imethod,
    316     irq_code_t *ucode, cap_handle_t *uspace_handle)
     315    irq_code_t *ucode)
    317316{
    318317        if ((inr < 0) || (inr > last_inr))
     
    334333                return handle;
    335334       
    336         int rc = copy_to_uspace(uspace_handle, &handle, sizeof(cap_handle_t));
    337         if (rc != EOK) {
    338                 cap_free(TASK, handle);
    339                 return rc;
    340         }
    341 
    342         irq_t *irq = (irq_t *) slab_alloc(irq_cache, FRAME_ATOMIC);
     335        irq_t *irq = (irq_t *) slab_alloc(irq_slab, FRAME_ATOMIC);
    343336        if (!irq) {
    344337                cap_free(TASK, handle);
     
    349342        if (!kobject) {
    350343                cap_free(TASK, handle);
    351                 slab_free(irq_cache, irq);
     344                slab_free(irq_slab, irq);
    352345                return ENOMEM;
    353346        }
     
    378371        cap_publish(TASK, handle, kobject);
    379372       
    380         return EOK;
     373        return handle;
    381374}
    382375
Note: See TracChangeset for help on using the changeset viewer.