diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-06-07 00:17:50 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-06-07 00:17:50 +0200 |
commit | 3eba148d75670f61463dd3c9ef8672da8f290f36 (patch) | |
tree | 45cb8fbda6d6ce9d73aeeac673282e37b0be2531 /arch/powerpc/platforms/powernv/opal-elog.c | |
parent | PM / hibernate: fixed typo in comment (diff) | |
parent | ACPI / PM: Export rest of the subsys PM callbacks (diff) | |
download | linux-3eba148d75670f61463dd3c9ef8672da8f290f36.tar.xz linux-3eba148d75670f61463dd3c9ef8672da8f290f36.zip |
Merge branch 'acpi-pm' into pm-sleep
Diffstat (limited to 'arch/powerpc/platforms/powernv/opal-elog.c')
-rw-r--r-- | arch/powerpc/platforms/powernv/opal-elog.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-elog.c b/arch/powerpc/platforms/powernv/opal-elog.c index ef7bc2a97862..10268c41d830 100644 --- a/arch/powerpc/platforms/powernv/opal-elog.c +++ b/arch/powerpc/platforms/powernv/opal-elog.c @@ -238,18 +238,25 @@ static struct elog_obj *create_elog_obj(uint64_t id, size_t size, uint64_t type) static void elog_work_fn(struct work_struct *work) { - size_t elog_size; + __be64 size; + __be64 id; + __be64 type; + uint64_t elog_size; uint64_t log_id; uint64_t elog_type; int rc; char name[2+16+1]; - rc = opal_get_elog_size(&log_id, &elog_size, &elog_type); + rc = opal_get_elog_size(&id, &size, &type); if (rc != OPAL_SUCCESS) { pr_err("ELOG: Opal log read failed\n"); return; } + elog_size = be64_to_cpu(size); + log_id = be64_to_cpu(id); + elog_type = be64_to_cpu(type); + BUG_ON(elog_size > OPAL_MAX_ERRLOG_SIZE); if (elog_size >= OPAL_MAX_ERRLOG_SIZE) |