nvme-tcp-offload: Add controller level error recovery implementation
authorArie Gershberg <agershberg@marvell.com>
Wed, 2 Jun 2021 18:42:44 +0000 (21:42 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Jun 2021 21:11:21 +0000 (14:11 -0700)
commit5faf6d68554808ef1b9c8647a7e8fd8a4e8cb0a5
tree986943681c32924f50072fcc8199601e77ec190b
parent5aadd5f9311e2aa18c3892bf47df7825fee0b457
nvme-tcp-offload: Add controller level error recovery implementation

In this patch, we implement controller level error handling and recovery.
Upon an error discovered by the ULP or reset controller initiated by the
nvme-core (using reset_ctrl workqueue), the ULP will initiate a controller
recovery which includes teardown and re-connect of all queues.

Acked-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: Arie Gershberg <agershberg@marvell.com>
Signed-off-by: Prabhakar Kushwaha <pkushwaha@marvell.com>
Signed-off-by: Omkar Kulkarni <okulkarni@marvell.com>
Signed-off-by: Michal Kalderon <mkalderon@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: Shai Malin <smalin@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/nvme/host/tcp-offload.c
drivers/nvme/host/tcp-offload.h