Changes in kernel/generic/src/ipc/irq.c [c1f68b0:82cbf8c6] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/irq.c
rc1f68b0 r82cbf8c6 271 271 } 272 272 273 static void irq_hash_out(irq_t *irq)274 {275 irq_spinlock_lock(&irq_uspace_hash_table_lock, true);276 irq_spinlock_lock(&irq->lock, false);277 278 if (irq->notif_cfg.hashed_in) {279 /* Remove the IRQ from the uspace IRQ hash table. */280 hash_table_remove_item(&irq_uspace_hash_table, &irq->link);281 irq->notif_cfg.hashed_in = false;282 }283 284 irq_spinlock_unlock(&irq->lock, false);285 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true);286 }287 288 273 static void irq_destroy(void *arg) 289 274 { 290 275 irq_t *irq = (irq_t *) arg; 291 292 irq_hash_out(irq);293 276 294 277 /* Free up the IRQ code and associated structures. */ … … 390 373 assert(kobj->irq->notif_cfg.answerbox == box); 391 374 392 irq_hash_out(kobj->irq); 375 irq_spinlock_lock(&irq_uspace_hash_table_lock, true); 376 irq_spinlock_lock(&kobj->irq->lock, false); 377 378 if (kobj->irq->notif_cfg.hashed_in) { 379 /* Remove the IRQ from the uspace IRQ hash table. */ 380 hash_table_remove_item(&irq_uspace_hash_table, 381 &kobj->irq->link); 382 kobj->irq->notif_cfg.hashed_in = false; 383 } 384 385 irq_spinlock_unlock(&kobj->irq->lock, false); 386 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true); 393 387 394 388 kobject_put(kobj);
Note:
See TracChangeset
for help on using the changeset viewer.