mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
nvme: Use non zero KATO for persistent discovery connections
The NVMe Base Specification 2.1 states that: """ A host requests an explicit persistent connection ... by specifying a non-zero Keep Alive Timer value in the Connect command. """ As such if we are starting a persistent connection to a discovery controller and the KATO is currently 0 we need to update KATO to a non zero value to avoid continuous timeouts on the target. Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
parent
20015410fb
commit
2e48265501
1 changed files with 7 additions and 1 deletions
|
|
@ -4991,8 +4991,14 @@ void nvme_start_ctrl(struct nvme_ctrl *ctrl)
|
|||
* checking that they started once before, hence are reconnecting back.
|
||||
*/
|
||||
if (test_bit(NVME_CTRL_STARTED_ONCE, &ctrl->flags) &&
|
||||
nvme_discovery_ctrl(ctrl))
|
||||
nvme_discovery_ctrl(ctrl)) {
|
||||
if (!ctrl->kato) {
|
||||
nvme_stop_keep_alive(ctrl);
|
||||
ctrl->kato = NVME_DEFAULT_KATO;
|
||||
nvme_start_keep_alive(ctrl);
|
||||
}
|
||||
nvme_change_uevent(ctrl, "NVME_EVENT=rediscover");
|
||||
}
|
||||
|
||||
if (ctrl->queue_count > 1) {
|
||||
nvme_queue_scan(ctrl);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue