staging: unisys: remove wmb() in visordriver_remove_device
authorDavid Kershner <david.kershner@unisys.com>
Thu, 31 Mar 2016 00:38:49 +0000 (20:38 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 31 Mar 2016 01:28:32 +0000 (18:28 -0700)
Don't need to have a wmb() in visordriver_remove_device. Also removed
an unnecessary check for drv being null.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorbus/visorbus_main.c

index 1fcb177..547be8b 100644 (file)
@@ -613,20 +613,12 @@ visordriver_remove_device(struct device *xdev)
        drv = to_visor_driver(xdev->driver);
        down(&dev->visordriver_callback_lock);
        dev->being_removed = true;
-       /*
-        * ensure that the dev->being_removed flag is set before we start the
-        * actual removal
-        */
-       wmb();
-       if (drv) {
-               if (drv->remove)
-                       drv->remove(dev);
-       }
+       if (drv->remove)
+               drv->remove(dev);
        up(&dev->visordriver_callback_lock);
        dev_stop_periodic_work(dev);
 
        put_device(&dev->device);
-
        return 0;
 }