aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2014-04-23 17:25:34 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-04-27 23:08:50 -0400
commitcc146d1db0673396429ce4f906350d684ef4ca2a (patch)
treed2299506adc3bd4591522230b10c81d9620cac48
parent298b34d7d578c3b4325248b823f3d83a8ea1541c (diff)
powerpc/powernv: Fix little endian issues in OPAL flash code
With this patch I was able to update firmware on an LE kernel. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/platforms/powernv/opal-flash.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-flash.c b/arch/powerpc/platforms/powernv/opal-flash.c
index 714ef972406b..a968fd1888b3 100644
--- a/arch/powerpc/platforms/powernv/opal-flash.c
+++ b/arch/powerpc/platforms/powernv/opal-flash.c
@@ -131,11 +131,15 @@ static DEFINE_MUTEX(image_data_mutex);
131 */ 131 */
132static inline void opal_flash_validate(void) 132static inline void opal_flash_validate(void)
133{ 133{
134 struct validate_flash_t *args_buf = &validate_flash_data; 134 long ret;
135 void *buf = validate_flash_data.buf;
136 __be32 size, result;
137
138 ret = opal_validate_flash(__pa(buf), &size, &result);
135 139
136 args_buf->status = opal_validate_flash(__pa(args_buf->buf), 140 validate_flash_data.status = ret;
137 &(args_buf->buf_size), 141 validate_flash_data.buf_size = be32_to_cpu(size);
138 &(args_buf->result)); 142 validate_flash_data.result = be32_to_cpu(result);
139} 143}
140 144
141/* 145/*