[PATCH 2.4] salinfo patch

From: Ben Woodard <ben_at_zork.net>
Date: 2003-12-23 12:04:38
It looks to me like the salinfo.c and mca.c code can try to clear CPEs
and CMCs twice the first time in ia64_mca_log_sal_error_record and then
later when the clear message is sent to the /proc/sal/{cpe,cmc}/data
file. Did I miss something?

Here is a trivially little patch that fixes it one way. 

diff -u -r1.1.24.1.68.1 salinfo.c
--- salinfo.c   16 Dec 2003 22:14:31 -0000      1.1.24.1.68.1
+++ salinfo.c   23 Dec 2003 00:51:27 -0000
@@ -448,7 +450,10 @@
                data->saved_num = 0;
                spin_unlock_irqrestore(&data_saved_lock, flags);
        }
-       call_on_cpu(cpu, salinfo_log_clear_cpu, data);
+
+       if (!data->type == SAL_INFO_TYPE_CPE && !data->type == SAL_INFO_TYPE_CMC)
+         /*  ia64_mca_log_sal_error_record already cleared CPE and CMC errors */
+         call_on_cpu(cpu, salinfo_log_clear_cpu, data);
  
        /* clearing a record may make a new record visible */
        salinfo_log_new_read(cpu, data);

Another way to fix it would be to remove the clearing the SAL error in
ia64_mca_log_sal_error_record. Though, I have to say I am extremely
uncomfortable depending on and waiting for something in user space to
acknowledge system problems before other errors can be reported.

While I'm at it, something that I've been completely unable to
understand is why salinfo.c provides two distinct files, event and data.
It seems like the event file is virtually useless. Why not just have the
same blocking read on the data file?

-ben


-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Mon Dec 22 20:12:06 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:21 EST