aboutsummaryrefslogtreecommitdiff
path: root/net/lapb/lapb_subr.c
diff options
context:
space:
mode:
authorSagi Grimberg <[email protected]>2019-01-08 01:01:30 -0800
committerJens Axboe <[email protected]>2019-01-23 17:16:59 -0700
commit39d57757467b6346bbc1a1f416e3057f681cf903 (patch)
treec93e6d73f7499d73db7ff87edefbea35bf7a1d7f /net/lapb/lapb_subr.c
parent4c174e6366746ae8d49f9cc409f728eebb7a9ac9 (diff)
nvme-tcp: fix timeout handler
Currently, we have several problems with the timeout handler: 1. If we timeout on the controller establishment flow, we will hang because we don't execute the error recovery (and we shouldn't because the create_ctrl flow needs to fail and cleanup on its own) 2. We might also hang if we get a disconnet on a queue while the controller is already deleting. This racy flow can cause the controller disable/shutdown admin command to hang. We cannot complete a timed out request from the timeout handler without mutual exclusion from the teardown flow (e.g. nvme_rdma_error_recovery_work). So we serialize it in the timeout handler and teardown io and admin queues to guarantee that no one races with us from completing the request. Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'net/lapb/lapb_subr.c')
0 files changed, 0 insertions, 0 deletions