On Thu, 02 Dec 2010 17:21:12 +0100
Tobias Karnat <tobias.karnat@googlemail.com> wrote:
It doesnt work because op_state is set to OP_OFFLINE in edac_mc_del_mc
before calling edac_mc_workq_teardown. Or am I seeing things?
<snip>
577 struct mem_ctl_info *edac_mc_del_mc(struct device *dev)
578 {
<snip>
592 /* marking MCI offline */
593 mci->op_state = OP_OFFLINE;
594
595 del_mc_from_global_list(mci);
596 mutex_unlock(&mem_ctls_mutex);
597
598 /* flush workq processes and remove sysfs */
599 edac_mc_workq_teardown(mci);
<snip>
Probably a better check in _teardown is on a bool that get's set in
edac_mc_workq_setup...?
--