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

Commit 66ee2f94 authored by Dave Jiang's avatar Dave Jiang Committed by Linus Torvalds
Browse files

drivers/edac: mod assert_error check



Change error check and clear variable from an atomic to an int

Signed-off-by: default avatarDave Jiang <djiang@mvista.com>
Signed-off-by: default avatarDouglas Thompson <dougthompson@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 91b99041
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -222,18 +222,15 @@ static struct mem_ctl_info *find_mci_by_dev(struct device *dev)
 */
static int edac_mc_assert_error_check_and_clear(void)
{
	int vreg;
	int old_state;

	if(edac_op_state == EDAC_OPSTATE_POLL)
		return 1;

	vreg = atomic_read(&edac_err_assert);
	if(vreg) {
		atomic_set(&edac_err_assert, 0);
		return 1;
	}
	old_state = edac_err_assert;
	edac_err_assert = 0;

	return 0;
	return old_state;
}

/*
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ EXPORT_SYMBOL(edac_op_state);
atomic_t edac_handlers = ATOMIC_INIT(0);
EXPORT_SYMBOL(edac_handlers);

atomic_t edac_err_assert = ATOMIC_INIT(0);
int edac_err_assert = 0;
EXPORT_SYMBOL(edac_err_assert);

inline int edac_handler_set(void)
@@ -37,6 +37,6 @@ EXPORT_SYMBOL(edac_handler_set);
 */
inline void edac_atomic_assert_error(void)
{
	atomic_set(&edac_err_assert, 1);
	edac_err_assert++;
}
EXPORT_SYMBOL(edac_atomic_assert_error);
+1 −1
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@
#define EDAC_OPSTATE_INT	2

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

extern int edac_handler_set(void);
extern void edac_atomic_assert_error(void);