RE: [Intel-wired-lan] [PATCH net] i40e: Fix firmware version comparison function

From: Pucha, HimasekharX Reddy
Date: Wed Mar 06 2024 - 07:45:28 EST


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of Ivan Vecera
> Sent: Wednesday, February 28, 2024 10:56 PM
> To: netdev@xxxxxxxxxxxxxxx
> Cc: moderated list:INTEL ETHERNET DRIVERS <intel-wired-lan@xxxxxxxxxxxxxxxx>; Brandeburg, Jesse <jesse.brandeburg@xxxxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH net] i40e: Fix firmware version comparison function
>
> Helper i40e_is_fw_ver_eq() compares incorrectly given firmware version
> as it returns true when the major version of running firmware is
> greater than the given major version that is wrong and results in
> failure during getting of DCB configuration where this helper is used.
> Fix the check and return true only if the running FW version is exactly
> equals to the given version.
>
> Reproducer:
> 1. Load i40e driver
> 2. Check dmesg output
>
> [root@host ~]# modprobe i40e
> [root@host ~]# dmesg | grep 'i40e.*DCB'
> [ 74.750642] i40e 0000:02:00.0: Query for DCB configuration failed, err -EIO aq_err I40E_AQ_RC_EINVAL
> [ 74.759770] i40e 0000:02:00.0: DCB init failed -5, disabled
> [ 74.966550] i40e 0000:02:00.1: Query for DCB configuration failed, err -EIO aq_err I40E_AQ_RC_EINVAL
> [ 74.975683] i40e 0000:02:00.1: DCB init failed -5, disabled
>
> Fixes: cf488e13221f ("i40e: Add other helpers to check version of running firmware and AQ API")
> Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx>
> ---
> drivers/net/ethernet/intel/i40e/i40e_prototype.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@xxxxxxxxx> (A Contingent worker at Intel)