[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACKFLikinRN1477Ur4Nm=eRCUjjuDe2=VAb=bzWHCcQHYFoMhQ@mail.gmail.com>
Date: Mon, 16 Oct 2023 10:38:16 -0700
From: Michael Chan <michael.chan@...adcom.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com,
pabeni@...hat.com
Subject: Re: [PATCH net-next v2] eth: bnxt: fix backward compatibility with
older devices
On Mon, Oct 16, 2023 at 10:16 AM Jakub Kicinski <kuba@...nel.org> wrote:
>
> Recent FW interface update bumped the size of struct hwrm_func_cfg_input
> above 128B which is the max some devices support.
>
> Probe on Stratus (BCM957452) with FW 20.8.3.11 fails with:
>
> bnxt_en ...: Unable to reserve tx rings
> bnxt_en ...: 2nd rings reservation failed.
> bnxt_en ...: Not enough rings available.
>
> Once probe is fixed other errors pop up:
>
> bnxt_en ...: Failed to set async event completion ring.
>
> This is because __hwrm_send() rejects requests larger than
> bp->hwrm_max_ext_req_len with -E2BIG. Since the driver doesn't
> actually access any of the new fields, yet, trim the length.
> It should be safe.
>
> Similar workaround exists for backing_store_cfg_input.
> Although that one mins() to a constant of 256, not 128
> we'll effectively use here. Michael explains: "the backing
> store cfg command is supported by relatively newer firmware
> that will accept 256 bytes at least."
>
> To make debugging easier in the future add a warning
> for oversized requests.
>
> Fixes: 754fbf604ff6 ("bnxt_en: Update firmware interface to 1.10.2.171")
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
> ---
> v2:
> - fix the request in all driver files
> v1: https://lore.kernel.org/all/20231012224101.950208-1-kuba@kernel.org/
> CC: michael.chan@...adcom.com
> ---
Thanks.
Reviewed-by: Michael Chan <michael.chan@...adcom.com>
Download attachment "smime.p7s" of type "application/pkcs7-signature" (4209 bytes)
Powered by blists - more mailing lists