mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 09:17:00 +07:00
ibmvnic: Fix endian error when requesting device capabilities
When a vNIC client driver requests a faulty device setting, the server returns an acceptable value for the client to request. This 64 bit value was incorrectly being swapped as a 32 bit value, resulting in loss of data. This patch corrects that by using the 64 bit swap function. 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
7627ae6030
commit
28f4d16570
@ -2389,10 +2389,10 @@ static void handle_request_cap_rsp(union ibmvnic_crq *crq,
|
||||
case PARTIALSUCCESS:
|
||||
dev_info(dev, "req=%lld, rsp=%ld in %s queue, retrying.\n",
|
||||
*req_value,
|
||||
(long int)be32_to_cpu(crq->request_capability_rsp.
|
||||
(long int)be64_to_cpu(crq->request_capability_rsp.
|
||||
number), name);
|
||||
release_sub_crqs_no_irqs(adapter);
|
||||
*req_value = be32_to_cpu(crq->request_capability_rsp.number);
|
||||
*req_value = be64_to_cpu(crq->request_capability_rsp.number);
|
||||
init_sub_crqs(adapter, 1);
|
||||
return;
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user