Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Anton Blanchard and committed by
Benjamin Herrenschmidt
cc146d1d 298b34d7

+8 -4
+8 -4
arch/powerpc/platforms/powernv/opal-flash.c
··· 131 131 */ 132 132 static 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; 135 137 136 - args_buf->status = opal_validate_flash(__pa(args_buf->buf), 137 - &(args_buf->buf_size), 138 - &(args_buf->result)); 138 + ret = opal_validate_flash(__pa(buf), &size, &result); 139 + 140 + validate_flash_data.status = ret; 141 + validate_flash_data.buf_size = be32_to_cpu(size); 142 + validate_flash_data.result = be32_to_cpu(result); 139 143 } 140 144 141 145 /*