I happened to find this when reading the code.
I didn't get a real issue however.

Cc: Jake Oshins <ja...@microsoft.com>
Cc: K. Y. Srinivasan <k...@microsoft.com>
Cc: Haiyang Zhang <haiya...@microsoft.com>
Cc: Vitaly Kuznetsov <vkuzn...@redhat.com>
Signed-off-by: Dexuan Cui <de...@microsoft.com>
---
 drivers/pci/host/pci-hyperv.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c
index aef2e1e..f337239 100644
--- a/drivers/pci/host/pci-hyperv.c
+++ b/drivers/pci/host/pci-hyperv.c
@@ -893,8 +893,10 @@ static void hv_compose_msi_msg(struct irq_data *data, 
struct msi_msg *msg)
                               sizeof(*int_pkt), (unsigned long)&ctxt.pkt,
                               VM_PKT_DATA_INBAND,
                               VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
-       if (!ret)
-               wait_for_completion(&comp.comp_pkt.host_event);
+       if (ret)
+               goto free_int_desc;
+
+       wait_for_completion(&comp.comp_pkt.host_event);
 
        if (comp.comp_pkt.completion_status < 0) {
                dev_err(&hbus->hdev->device,
-- 
2.7.4

Reply via email to