bnxt_en: Fix offline ethtool selftest with RDMA enabled
authorMichael Chan <michael.chan@broadcom.com>
Sun, 20 Feb 2022 09:05:48 +0000 (04:05 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Mar 2022 10:47:54 +0000 (11:47 +0100)
commit24931b4d199e87f74305c32ffd09c525b48b344e
tree8ad650283ffd315a4492e885aaf8da2dbda1e1a1
parentf84bbb9893bdd5effa64dfa6967bd6120e1f45e4
bnxt_en: Fix offline ethtool selftest with RDMA enabled

commit 6758f937669dba14c6aac7ca004edda42ec1b18d upstream.

For offline (destructive) self tests, we need to stop the RDMA driver
first.  Otherwise, the RDMA driver will run into unrecoverable errors
when destructive firmware tests are being performed.

The irq_re_init parameter used in the half close and half open
sequence when preparing the NIC for offline tests should be set to
true because the RDMA driver will free all IRQs before the offline
tests begin.

Fixes: 55fd0cf320c3 ("bnxt_en: Add external loopback test to ethtool selftest.")
Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>
Reviewed-by: Ben Li <ben.li@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c