Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97bb6c17 authored by Borislav Petkov's avatar Borislav Petkov
Browse files

EDAC: Get rid of edac_handlers



Use mc_devices list instead to check whether we have EDAC driver
instances successfully registered with EDAC core.

Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent db47d5f8
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -601,7 +601,6 @@ static int add_mc_to_global_list(struct mem_ctl_info *mci)
	}

	list_add_tail_rcu(&mci->link, insert_before);
	atomic_inc(&edac_handlers);
	return 0;

fail0:
@@ -619,7 +618,6 @@ static int add_mc_to_global_list(struct mem_ctl_info *mci)

static int del_mc_from_global_list(struct mem_ctl_info *mci)
{
	int handlers = atomic_dec_return(&edac_handlers);
	list_del_rcu(&mci->link);

	/* these are for safe removal of devices from global list while
@@ -628,7 +626,7 @@ static int del_mc_from_global_list(struct mem_ctl_info *mci)
	synchronize_rcu();
	INIT_LIST_HEAD(&mci->link);

	return handlers;
	return list_empty(&mc_devices);
}

struct mem_ctl_info *edac_mc_find(int idx)
@@ -763,7 +761,7 @@ struct mem_ctl_info *edac_mc_del_mc(struct device *dev)
	/* mark MCI offline: */
	mci->op_state = OP_OFFLINE;

	if (!del_mc_from_global_list(mci))
	if (del_mc_from_global_list(mci))
		edac_mc_owner = NULL;

	mutex_unlock(&mem_ctls_mutex);
+0 −3
Original line number Diff line number Diff line
@@ -20,9 +20,6 @@
int edac_op_state = EDAC_OPSTATE_INVAL;
EXPORT_SYMBOL_GPL(edac_op_state);

atomic_t edac_handlers = ATOMIC_INIT(0);
EXPORT_SYMBOL_GPL(edac_handlers);

int edac_err_assert = 0;
EXPORT_SYMBOL_GPL(edac_err_assert);

+0 −1
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ struct device;

extern int edac_op_state;
extern int edac_err_assert;
extern atomic_t edac_handlers;

extern struct bus_type *edac_get_sysfs_subsys(void);