diff options
author | Josef Bacik | 2018-07-16 18:11:35 +0200 |
---|---|---|
committer | Jens Axboe | 2018-07-16 18:14:40 +0200 |
commit | 8f3ea35929a0806ad1397db99a89ffee0140822a (patch) | |
tree | 0679226e653f76f3d82be9dd11b558f42f842504 /drivers/usb/wusbcore/wa-xfer.c | |
parent | nbd: don't requeue the same request twice. (diff) | |
download | kernel-qcow2-linux-8f3ea35929a0806ad1397db99a89ffee0140822a.tar.gz kernel-qcow2-linux-8f3ea35929a0806ad1397db99a89ffee0140822a.tar.xz kernel-qcow2-linux-8f3ea35929a0806ad1397db99a89ffee0140822a.zip |
nbd: handle unexpected replies better
If the server or network is misbehaving and we get an unexpected reply
we can sometimes miss the request not being started and wait on a
request and never get a response, or even double complete the same
request. Fix this by replacing the send_complete completion with just a
per command lock. Add a per command cookie as well so that we can know
if we're getting a double completion for a previous event. Also check
to make sure we dont have REQUEUED set as that means we raced with the
timeout handler and need to just let the retry occur.
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/usb/wusbcore/wa-xfer.c')
0 files changed, 0 insertions, 0 deletions