We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3597a2f commit a979a6aCopy full SHA for a979a6a
virt/lib/irqbypass.c
@@ -40,17 +40,21 @@ static int __connect(struct irq_bypass_producer *prod,
40
if (prod->add_consumer)
41
ret = prod->add_consumer(prod, cons);
42
43
- if (!ret) {
44
- ret = cons->add_producer(cons, prod);
45
- if (ret && prod->del_consumer)
46
- prod->del_consumer(prod, cons);
47
- }
+ if (ret)
+ goto err_add_consumer;
+
+ ret = cons->add_producer(cons, prod);
48
+ goto err_add_producer;
49
50
if (cons->start)
51
cons->start(cons);
52
if (prod->start)
53
prod->start(prod);
-
54
+err_add_producer:
55
+ if (prod->del_consumer)
56
+ prod->del_consumer(prod, cons);
57
+err_add_consumer:
58
return ret;
59
}
60
0 commit comments