diff options
| author | Yuho Choi <oss.patchbox@gmail.com> | 2026-10-05 00:47:45 -0400 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2026-11-03 05:52:09 -0500 |
| commit | f41f153d49b4c18172ec61b69ba934c36e1be745 (patch) | |
| tree | a22440626a5a98d3e150009f3b79566eabe89a5e /scripts/Makefile.thinlto | |
| parent | 1f8efac19a0870cdfdf8477e447e5a07ddce9623 (diff) | |
| download | linux-next-f41f153d49b4c18172ec61b69ba934c36e1be745.tar.gz linux-next-f41f153d49b4c18172ec61b69ba934c36e1be745.zip | |
vdpa/snet: Don't discard the DPU error in snet_send_ctrl_msg()
snet_send_ctrl_msg() reads the error code the DPU reports when it ACKs
a control message, but then overwrites it with the return value of
snet_wait_for_dpu_completion(). As a result, a DESTROY, SUSPEND or
RESUME that the DPU rejects is reported to the caller as a success as
long as the DPU clears the opcode register in time.
For SUSPEND this means vhost-vdpa marks the device as suspended and
lets userspace reprogram the vrings while the DPU is still running
them; for DESTROY, snet_reset_dev() never even sees that the device
failed to stop.
Return the error from the saved ACK value once the completion wait
itself has succeeded.
Fixes: 3f3a1675b731 ("vdpa/snet: support getting and setting VQ state")
Cc: stable@vger.kernel.org
Signed-off-by: Yuho Choi <oss.patchbox@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20261005044915.264532-1-oss.patchbox@gmail.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
