forked from Minki/linux
ibmvnic: Fix endian errors in error reporting output
Error reports received from firmware were not being converted from big endian values, leading to bogus error codes reported on little endian systems. Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
28f4d16570
commit
75224c93fa
@ -2186,12 +2186,12 @@ static void handle_error_info_rsp(union ibmvnic_crq *crq,
|
|||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
dev_err(dev, "Couldn't find error id %x\n",
|
dev_err(dev, "Couldn't find error id %x\n",
|
||||||
crq->request_error_rsp.error_id);
|
be32_to_cpu(crq->request_error_rsp.error_id));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_err(dev, "Detailed info for error id %x:",
|
dev_err(dev, "Detailed info for error id %x:",
|
||||||
crq->request_error_rsp.error_id);
|
be32_to_cpu(crq->request_error_rsp.error_id));
|
||||||
|
|
||||||
for (i = 0; i < error_buff->len; i++) {
|
for (i = 0; i < error_buff->len; i++) {
|
||||||
pr_cont("%02x", (int)error_buff->buff[i]);
|
pr_cont("%02x", (int)error_buff->buff[i]);
|
||||||
@ -2270,8 +2270,8 @@ static void handle_error_indication(union ibmvnic_crq *crq,
|
|||||||
dev_err(dev, "Firmware reports %serror id %x, cause %d\n",
|
dev_err(dev, "Firmware reports %serror id %x, cause %d\n",
|
||||||
crq->error_indication.
|
crq->error_indication.
|
||||||
flags & IBMVNIC_FATAL_ERROR ? "FATAL " : "",
|
flags & IBMVNIC_FATAL_ERROR ? "FATAL " : "",
|
||||||
crq->error_indication.error_id,
|
be32_to_cpu(crq->error_indication.error_id),
|
||||||
crq->error_indication.error_cause);
|
be16_to_cpu(crq->error_indication.error_cause));
|
||||||
|
|
||||||
error_buff = kmalloc(sizeof(*error_buff), GFP_ATOMIC);
|
error_buff = kmalloc(sizeof(*error_buff), GFP_ATOMIC);
|
||||||
if (!error_buff)
|
if (!error_buff)
|
||||||
|
Loading…
Reference in New Issue
Block a user