Changes in / [b40ea02:087768f] in mainline


Ignore:
File:
1 edited

Legend:

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

    rb40ea02 r087768f  
    358358        ASSERT(irq->notif_cfg.answerbox == box);
    359359       
     360        /* Free up the pseudo code and associated structures. */
     361        code_free(irq->notif_cfg.code);
     362       
    360363        /* Remove the IRQ from the answerbox's list. */
    361364        list_remove(&irq->notif_cfg.link);
     
    375378        irq_spinlock_unlock(&box->irq_lock, false);
    376379        irq_spinlock_unlock(&irq_uspace_hash_table_lock, true);
    377        
    378         /* Free up the pseudo code and associated structures. */
    379         code_free(irq->notif_cfg.code);
    380380       
    381381        /* Free up the IRQ structure. */
     
    425425                list_remove(&irq->notif_cfg.link);
    426426               
     427                /* Free up the pseudo code and associated structures. */
     428                code_free(irq->notif_cfg.code);
     429               
    427430                /*
    428431                 * We need to drop the IRQ lock now because hash_table_remove()
     
    436439                /* Remove from the hash table. */
    437440                hash_table_remove(&irq_uspace_hash_table, key, 2);
    438 
    439                 /*
    440                  * Release both locks so that we can free the pseudo code.
    441                  */
    442                 irq_spinlock_unlock(&box->irq_lock, false);
    443                 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true);
    444 
    445                 code_free(irq->notif_cfg.code);
     441               
    446442                free(irq);
    447                
    448                 /* Reacquire both locks before taking another round. */
    449                 irq_spinlock_lock(&irq_uspace_hash_table_lock, true);
    450                 irq_spinlock_lock(&box->irq_lock, false);
    451443        }
    452444       
Note: See TracChangeset for help on using the changeset viewer.