input: sensors: fromdos and remove trailing whitespace
[firefly-linux-kernel-4.4.55.git] / drivers / edac / edac_device.c
index 102674346035e13bc28d6f3f001ea0d4a5e57e29..53587377e67268fd90efb4fbfed2358dcbe03717 100644 (file)
@@ -435,13 +435,13 @@ void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev,
  */
 void edac_device_workq_teardown(struct edac_device_ctl_info *edac_dev)
 {
-       int status;
+       if (!edac_dev->edac_check)
+               return;
 
-       status = cancel_delayed_work(&edac_dev->work);
-       if (status == 0) {
-               /* workq instance might be running, wait for it */
-               flush_workqueue(edac_workqueue);
-       }
+       edac_dev->op_state = OP_OFFLINE;
+
+       cancel_delayed_work_sync(&edac_dev->work);
+       flush_workqueue(edac_workqueue);
 }
 
 /*