PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC
authorK. Y. Srinivasan <kys@microsoft.com>
Fri, 24 Mar 2017 18:07:22 +0000 (11:07 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 4 Apr 2017 19:00:01 +0000 (14:00 -0500)
The memory allocation here needs to be non-blocking.  Fix the issue.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Long Li <longli@microsoft.com>
Cc: <stable@vger.kernel.org>
drivers/pci/host/pci-hyperv.c

index 8c952f694c2f76538fd7d017fd03c06628f3927a..e73880c5d9794af047c30f1144049756f377737d 100644 (file)
@@ -878,7 +878,7 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
                hv_int_desc_free(hpdev, int_desc);
        }
 
-       int_desc = kzalloc(sizeof(*int_desc), GFP_KERNEL);
+       int_desc = kzalloc(sizeof(*int_desc), GFP_ATOMIC);
        if (!int_desc)
                goto drop_reference;