diff options
author | Borislav Petkov <bp@suse.de> | 2016-02-02 13:36:11 +0300 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2016-02-02 13:38:50 +0300 |
commit | 06e912d4d4c2624c169997e26b3d7b5746735a14 (patch) | |
tree | 4bcc7c6e2eb0ea1bccf6d2bc85bb569e97791578 /drivers/edac/edac_mc.c | |
parent | 626a7a4dba2ad672b66b675f961de214f0ad0c74 (diff) | |
download | linux-06e912d4d4c2624c169997e26b3d7b5746735a14.tar.xz |
EDAC: Cleanup/sync workqueue functions
They're both running only when ->edac_check is initialized so remove
that check from the workqueue function itself. Synchronize/generalize
the ->op_state check between the two.
Kill useless comments, while at it.
Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'drivers/edac/edac_mc.c')
-rw-r--r-- | drivers/edac/edac_mc.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c index 050493edb505..1472f48c8ac6 100644 --- a/drivers/edac/edac_mc.c +++ b/drivers/edac/edac_mc.c @@ -535,19 +535,17 @@ static void edac_mc_workq_function(struct work_struct *work_req) mutex_lock(&mem_ctls_mutex); - /* if this control struct has movd to offline state, we are done */ - if (mci->op_state == OP_OFFLINE) { + if (mci->op_state != OP_RUNNING_POLL) { mutex_unlock(&mem_ctls_mutex); return; } - /* Only poll controllers that are running polled and have a check */ - if (edac_mc_assert_error_check_and_clear() && (mci->edac_check != NULL)) + if (edac_mc_assert_error_check_and_clear()) mci->edac_check(mci); mutex_unlock(&mem_ctls_mutex); - /* Reschedule */ + /* Queue ourselves again. */ edac_queue_work(&mci->work, msecs_to_jiffies(edac_mc_get_poll_msec())); } |