]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/kernel/rtas.c
Merge branch 'pm-devfreq'
[karo-tx-linux.git] / arch / powerpc / kernel / rtas.c
index f386296ff3785cbf907e9311be50b87a046f45fd..8cd5ed049b5db0a4043eb45cc3aac87492313936 100644 (file)
@@ -993,21 +993,24 @@ struct pseries_errorlog *get_pseries_errorlog(struct rtas_error_log *log,
                (struct rtas_ext_event_log_v6 *)log->buffer;
        struct pseries_errorlog *sect;
        unsigned char *p, *log_end;
+       uint32_t ext_log_length = rtas_error_extended_log_length(log);
+       uint8_t log_format = rtas_ext_event_log_format(ext_log);
+       uint32_t company_id = rtas_ext_event_company_id(ext_log);
 
        /* Check that we understand the format */
-       if (log->extended_log_length < sizeof(struct rtas_ext_event_log_v6) ||
-           ext_log->log_format != RTAS_V6EXT_LOG_FORMAT_EVENT_LOG ||
-           ext_log->company_id != RTAS_V6EXT_COMPANY_ID_IBM)
+       if (ext_log_length < sizeof(struct rtas_ext_event_log_v6) ||
+           log_format != RTAS_V6EXT_LOG_FORMAT_EVENT_LOG ||
+           company_id != RTAS_V6EXT_COMPANY_ID_IBM)
                return NULL;
 
-       log_end = log->buffer + log->extended_log_length;
+       log_end = log->buffer + ext_log_length;
        p = ext_log->vendor_log;
 
        while (p < log_end) {
                sect = (struct pseries_errorlog *)p;
-               if (sect->id == section_id)
+               if (pseries_errorlog_id(sect) == section_id)
                        return sect;
-               p += sect->length;
+               p += pseries_errorlog_length(sect);
        }
 
        return NULL;