lkml.org 
[lkml]   [2007]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 18/36] drivers edac mod assert error check
From:	Dave Jiang <djiang@mvista.com>

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

---

Index: linux-2.6.21.1/drivers/edac/edac_mc.c
===================================================================
--- linux-2.6.21.1.orig/drivers/edac/edac_mc.c
+++ linux-2.6.21.1/drivers/edac/edac_mc.c
@@ -222,18 +222,15 @@ static struct mem_ctl_info *find_mci_by_
*/
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;
}

/*
Index: linux-2.6.21.1/drivers/edac/edac_stub.c
===================================================================
--- linux-2.6.21.1.orig/drivers/edac/edac_stub.c
+++ linux-2.6.21.1/drivers/edac/edac_stub.c
@@ -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);
Index: linux-2.6.21.1/include/linux/edac.h
===================================================================
--- linux-2.6.21.1.orig/include/linux/edac.h
+++ linux-2.6.21.1/include/linux/edac.h
@@ -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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-06-03 16:51    [W:0.048 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site