PCI: hv: Remove the bogus test in hv_eject_device_work()
authorDexuan Cui <decui@microsoft.com>
Thu, 15 Mar 2018 14:21:43 +0000 (14:21 +0000)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Fri, 16 Mar 2018 18:19:02 +0000 (18:19 +0000)
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@microsoft.com>
[lorenzo.pieralisi@arm.com: updated commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Acked-by: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Jack Morgenstein <jackm@mellanox.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: K. Y. Srinivasan <kys@microsoft.com>
drivers/pci/host/pci-hyperv.c

index 0d2a09833a05447465b944ad22e9481f1dcdeb84..0dc2ecdbbe45f850f363ad41761016a7030238ad 100644 (file)
@@ -1842,10 +1842,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