Skip to content

Commit

Permalink
drivers/edac: mod assert_error check
Browse files Browse the repository at this point in the history
Change error check and clear variable from an atomic to an int

Signed-off-by: Dave Jiang <djiang@mvista.com>
Signed-off-by: Douglas Thompson <dougthompson@xmission.com
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Dave Jiang authored and Linus Torvalds committed Jul 19, 2007
1 parent 91b9904 commit 66ee2f9
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
11 changes: 4 additions & 7 deletions drivers/edac/edac_mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

/*
Expand Down
4 changes: 2 additions & 2 deletions drivers/edac/edac_stub.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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);
2 changes: 1 addition & 1 deletion include/linux/edac.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 66ee2f9

Please sign in to comment.