]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
RAS/CEC: Convert the timer callback to a workqueue
authorCong Wang <xiyou.wangcong@gmail.com>
Tue, 16 Apr 2019 21:33:51 +0000 (14:33 -0700)
committerBorislav Petkov <bp@suse.de>
Fri, 7 Jun 2019 21:21:39 +0000 (23:21 +0200)
commit0ade0b6240c4853cf9725924c46c10f4251639d7
tree5cab0c395bb3d2b05bd0baafd31156f66bb7d8f1
parentf3c74b38a55aefe1004200d15a83f109b510068c
RAS/CEC: Convert the timer callback to a workqueue

cec_timer_fn() is a timer callback which reads ce_arr.array[] and
updates its decay values. However, it runs in interrupt context and the
mutex protection the CEC uses for that array, is inadequate. Convert the
used timer to a workqueue to keep the tasks the CEC performs preemptible
and thus low-prio.

 [ bp: Rewrite commit message.
   s/timer/decay/gi to make it agnostic as to what facility is used. ]

Fixes: 011d82611172 ("RAS: Add a Corrected Errors Collector")
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20190416213351.28999-2-xiyou.wangcong@gmail.com
drivers/ras/cec.c