Commit a979a6aa authored by Zhu Lingshan's avatar Zhu Lingshan Committed by Michael S. Tsirkin
Browse files

irqbypass: do not start cons/prod when failed connect



If failed to connect, there is no need to start consumer nor
producer.

Signed-off-by: default avatarZhu Lingshan <lingshan.zhu@intel.com>
Suggested-by: default avatarJason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20200731065533.4144-7-lingshan.zhu@intel.com


Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 3597a2fb
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -40,17 +40,21 @@ static int __connect(struct irq_bypass_producer *prod,
	if (prod->add_consumer)
		ret = prod->add_consumer(prod, cons);

	if (!ret) {
	if (ret)
		goto err_add_consumer;

	ret = cons->add_producer(cons, prod);
		if (ret && prod->del_consumer)
			prod->del_consumer(prod, cons);
	}
	if (ret)
		goto err_add_producer;

	if (cons->start)
		cons->start(cons);
	if (prod->start)
		prod->start(prod);

err_add_producer:
	if (prod->del_consumer)
		prod->del_consumer(prod, cons);
err_add_consumer:
	return ret;
}