RDMA/bnxt_re: Move device to error state upon device crash
authorSelvin Xavier <selvin.xavier@broadcom.com>
Wed, 17 Mar 2021 08:15:42 +0000 (01:15 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 26 Mar 2021 13:37:01 +0000 (10:37 -0300)
commit6845485f9ed0157d6689321155ec7d168c6bfbd7
tree7e6e7c246ad0740d041e3769d0a92e0f7d7d5994
parent1fb7f8973f51ca1a7ffe61a2c779ed15f57f3d82
RDMA/bnxt_re: Move device to error state upon device crash

When the L2 driver detects a device crash or device undergone reset, it
invokes a stop callback to recover from error.

The current RoCE driver doesn't recover the device. So move the device to
error state and dispatch fatal events to all qps Release the MSIx vectors
to avoid a crash when L2 driver disables the MSIx.  Also, check for the
device state to avoid posting further commands to the HW.

Link: https://lore.kernel.org/r/1615968942-30970-1-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Naresh Kumar PBS <nareshkumar.pbs@broadcom.com>
Signed-off-by: Devesh Sharma <devesh.sharma@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/bnxt_re/bnxt_re.h
drivers/infiniband/hw/bnxt_re/main.c
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h