| From f8216f0663d566cde91b3b05c654f2a6f040fe85 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 21 May 2021 18:41:26 +0200 |
| Subject: i40e: Fix firmware LLDP agent related warning |
| |
| From: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> |
| |
| [ Upstream commit 71d6fdba4b2d82fdd883fec31dee77fbcf59773a ] |
| |
| Make warning meaningful for the user. |
| |
| Previously the trace: |
| "Starting FW LLDP agent failed: error: I40E_ERR_ADMIN_QUEUE_ERROR, I40E_AQ_RC_EAGAIN" |
| was produced when user tried to start Firmware LLDP agent, |
| just after it was stopped with sequence: |
| ethtool --set-priv-flags <dev> disable-fw-lldp on |
| ethtool --set-priv-flags <dev> disable-fw-lldp off |
| (without any delay between the commands) |
| At that point the firmware is still processing stop command, the behavior |
| is expected. |
| |
| Fixes: c1041d070437 ("i40e: Missing response checks in driver when starting/stopping FW LLDP") |
| Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> |
| Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com> |
| Tested-by: Imam Hassan Reza Biswas <imam.hassan.reza.biswas@intel.com> |
| Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c |
| index 874073f7f024..a952ae07d253 100644 |
| --- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c |
| +++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c |
| @@ -5106,6 +5106,10 @@ flags_complete: |
| dev_warn(&pf->pdev->dev, |
| "Device configuration forbids SW from starting the LLDP agent.\n"); |
| return -EINVAL; |
| + case I40E_AQ_RC_EAGAIN: |
| + dev_warn(&pf->pdev->dev, |
| + "Stop FW LLDP agent command is still being processed, please try again in a second.\n"); |
| + return -EBUSY; |
| default: |
| dev_warn(&pf->pdev->dev, |
| "Starting FW LLDP agent failed: error: %s, %s\n", |
| -- |
| 2.30.2 |
| |