Atn: Add sanity check for invalid fsi reads

We recently saw traces where fsi reads were reporting values that seemed
to be duplicates of the last known good read. Added a sanity check that
will indicate whether this occurs due to a pdbg library issue or a sbe
fifo issue.

Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I56888f1cdb66650915ad1b2b350b5cd22861ef76
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index 3e51f57..b8181b8 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -103,6 +103,8 @@
                 ss << "target - " << path;
                 trace<level::INFO>(ss.str().c_str());
 
+                isr_val = 0xffffffff; // invalid isr value
+
                 // get active attentions on processor
                 if (RC_SUCCESS != fsi_read(attnTarget, 0x1007, &isr_val))
                 {
@@ -110,6 +112,11 @@
                     trace<level::INFO>("Error! cfam read 0x1007 FAILED");
                     eventAttentionFail(RC_CFAM_ERROR);
                 }
+                else if (0xffffffff == isr_val)
+                {
+                    trace<level::INFO>("Error! cfam read 0x1007 INVALID");
+                    continue;
+                }
                 else
                 {
                     // trace isr
@@ -119,6 +126,8 @@
                        << isr_val;
                     trace<level::INFO>(ss.str().c_str());
 
+                    isr_mask = 0xffffffff; // invalid isr mask
+
                     // get interrupt enabled special attentions mask
                     if (RC_SUCCESS != fsi_read(attnTarget, 0x100d, &isr_mask))
                     {
@@ -126,6 +135,11 @@
                         trace<level::INFO>("Error! cfam read 0x100d FAILED");
                         eventAttentionFail(RC_CFAM_ERROR);
                     }
+                    else if (0xffffffff == isr_mask)
+                    {
+                        trace<level::INFO>("Error! cfam read 0x100d INVALID");
+                        continue;
+                    }
                     else
                     {
                         // trace true-mask