X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Fvirt%2Flib%2Firqbypass.c;fp=kernel%2Fvirt%2Flib%2Firqbypass.c;h=e5d5dde6bf7525956a5e0e06452db8494e7130bc;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=09a03b5a21ff239cb7f4afd36e9e0f723098a422;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/virt/lib/irqbypass.c b/kernel/virt/lib/irqbypass.c index 09a03b5a2..e5d5dde6b 100644 --- a/kernel/virt/lib/irqbypass.c +++ b/kernel/virt/lib/irqbypass.c @@ -188,7 +188,7 @@ int irq_bypass_register_consumer(struct irq_bypass_consumer *consumer) mutex_lock(&lock); list_for_each_entry(tmp, &consumers, node) { - if (tmp->token == consumer->token) { + if (tmp->token == consumer->token || tmp == consumer) { mutex_unlock(&lock); module_put(THIS_MODULE); return -EBUSY; @@ -235,7 +235,7 @@ void irq_bypass_unregister_consumer(struct irq_bypass_consumer *consumer) mutex_lock(&lock); list_for_each_entry(tmp, &consumers, node) { - if (tmp->token != consumer->token) + if (tmp != consumer) continue; list_for_each_entry(producer, &producers, node) {