OSDN Git Service

bnxt_en: Retry sending the first message to firmware if it is under reset.
authorMichael Chan <michael.chan@broadcom.com>
Mon, 25 Jan 2021 07:08:10 +0000 (02:08 -0500)
committerJakub Kicinski <kuba@kernel.org>
Tue, 26 Jan 2021 03:20:03 +0000 (19:20 -0800)
commitd1cbd1659cac9b192f4677715becf937978b091a
tree40b6ec0e3628860ec81c96e17c09f3535c5bea1e
parentb187e4bae0aaa49958cc589af46f7059672980db
bnxt_en: Retry sending the first message to firmware if it is under reset.

The first HWRM_VER_GET message to firmware during probe may timeout if
firmware is under reset.  This can happen during hot-plug for example.
On P5 and newer chips, we can check if firmware is in the boot stage by
reading a status register.  Retry 5 times if the status register shows
that firmware is not ready and not in error state.

Reviewed-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h