[SRU][Bionic][PATCH 2/3] PCI: hv: Remove the bogus test in hv_eject_device_work()

Marcelo Henrique Cerri marcelo.cerri at canonical.com
Fri Jun 8 18:39:10 UTC 2018


From: Dexuan Cui <decui at microsoft.com>

BugLink: http://bugs.launchpad.net/bugs/1758378

When kernel is executing hv_eject_device_work(), hpdev->state value must
be hv_pcichild_ejecting; any other value would consist in a bug,
therefore replace the bogus check with an explicit WARN_ON() on the
condition failure detection.

Signed-off-by: Dexuan Cui <decui at microsoft.com>
[lorenzo.pieralisi at arm.com: updated commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Reviewed-by: Michael Kelley <mikelley at microsoft.com>
Acked-by: Haiyang Zhang <haiyangz at microsoft.com>
Cc: Vitaly Kuznetsov <vkuznets at redhat.com>
Cc: Jack Morgenstein <jackm at mellanox.com>
Cc: Stephen Hemminger <sthemmin at microsoft.com>
Cc: K. Y. Srinivasan <kys at microsoft.com>
(cherry picked from commit fca288c0153b2b97114b9081bc3c33c3735145b6)
Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri at canonical.com>
---
 drivers/pci/host/pci-hyperv.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c
index f5fe4c38aee2..5eb7954ee584 100644
--- a/drivers/pci/host/pci-hyperv.c
+++ b/drivers/pci/host/pci-hyperv.c
@@ -1854,10 +1854,7 @@ static void hv_eject_device_work(struct work_struct *work)
 
 	hpdev = container_of(work, struct hv_pci_dev, wrk);
 
-	if (hpdev->state != hv_pcichild_ejecting) {
-		put_pcichild(hpdev, hv_pcidev_ref_pnp);
-		return;
-	}
+	WARN_ON(hpdev->state != hv_pcichild_ejecting);
 
 	/*
 	 * Ejection can come before or after the PCI bus has been set up, so
-- 
2.17.1





More information about the kernel-team mailing list