diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2016-09-13 14:45:24 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-09-13 15:50:40 +1000 |
commit | be4843f47baa5f1b36c2c6e7ad6bc4743a8bc43f (patch) | |
tree | ff4b12623de823f7d7537995c84854c19dea9c1b /hw/xscom.c | |
parent | 5fff4b8c750657272fe03f9032a8f7911e1e5b20 (diff) | |
download | skiboot-be4843f47baa5f1b36c2c6e7ad6bc4743a8bc43f.zip skiboot-be4843f47baa5f1b36c2c6e7ad6bc4743a8bc43f.tar.gz skiboot-be4843f47baa5f1b36c2c6e7ad6bc4743a8bc43f.tar.bz2 |
xscom: Initialize the data to a known value in xscom_read
In case of error, don't leave the data random. It helps debugging when
the user fails to check the error code. This happens due to a bug in the
PRD wrapper app.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/xscom.c')
-rw-r--r-- | hw/xscom.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -403,6 +403,13 @@ int xscom_read(uint32_t partid, uint64_t pcb_addr, uint64_t *val) if (!opal_addr_valid(val)) return OPAL_PARAMETER; + /* Due to a bug in some versions of the PRD wrapper app, errors + * might not be properly forwarded to PRD, in which case the data + * set here will be used. Rather than a random value let's thus + * initialize the data to a known clean state. + */ + *val = 0xdeadbeefdeadbeefull; + /* Handle part ID decoding */ switch(partid >> 28) { case 0: /* Normal processor chip */ |