bnxt_en: Prepare bnxt_init_one() to be called multiple times.
authorMichael Chan <michael.chan@broadcom.com>
Fri, 30 Aug 2019 03:54:49 +0000 (23:54 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Aug 2019 21:02:18 +0000 (14:02 -0700)
commitba642ab773db97c32293547485f562d2dfc06666
treee4c07ccce286501154441832a9eec4f5972ea904
parent5bedb5296e33e889818d77c8ec69040481fab157
bnxt_en: Prepare bnxt_init_one() to be called multiple times.

In preparation for the new firmware reset feature, some of the logic
in bnxt_init_one() and related functions will be called again after
firmware has reset.  Reset some of the flags and capabilities so that
everything that can change can be re-initialized.  Refactor some
functions to probe firmware versions and capabilities.  Check some
buffers before allocating as they may have been allocated previously.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c