net/qede: fix get link details

Message ID 20201001224128.15222-1-rmody@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series net/qede: fix get link details |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues
ci/Performance-Testing fail build patch failure
ci/travis-robot warning Travis build: failed

Commit Message

Rasesh Mody Oct. 1, 2020, 10:41 p.m. UTC
  This patch fixes get current link details, without this change the link
details can be inaccurate if proper lock is not acquired.

Fixes: 739a5b2f2b49 ("net/qede/base: use passed ptt handler")
Cc: stable@dpdk.org

Reported-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Rasesh Mody <rmody@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com> 
---
 drivers/net/qede/qede_main.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
  

Comments

Rasesh Mody Oct. 2, 2020, 8:02 p.m. UTC | #1
Hi Jerin - please use v2, which addresses the build issues.

On 10/1/20, 3:41 PM, "Rasesh Mody" <rmody@marvell.com> wrote:

    This patch fixes get current link details, without this change the link
    details can be inaccurate if proper lock is not acquired.

    Fixes: 739a5b2f2b49 ("net/qede/base: use passed ptt handler")
    Cc: stable@dpdk.org

    Reported-by: Ferruh Yigit <ferruh.yigit@intel.com>
    Signed-off-by: Rasesh Mody <rmody@marvell.com>
    Signed-off-by: Igor Russkikh <irusskikh@marvell.com> 
    ---
     drivers/net/qede/qede_main.c | 9 ++++-----
     1 file changed, 4 insertions(+), 5 deletions(-)

    diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
    index aecb98261..f0ca3373f 100644
    --- a/drivers/net/qede/qede_main.c
    +++ b/drivers/net/qede/qede_main.c
    @@ -584,13 +584,12 @@ qed_get_current_link(struct ecore_dev *edev, struct qed_link_output *if_link)
     	hwfn = &edev->hwfns[0];
     	if (IS_PF(edev)) {
     		ptt = ecore_ptt_acquire(hwfn);
    -		if (!ptt)
    -			DP_NOTICE(hwfn, true, "Failed to fill link; No PTT\n");
    -
    +		if (ptt) {
     			qed_fill_link(hwfn, ptt, if_link);
    -
    -		if (ptt)
     			ecore_ptt_release(hwfn, ptt);
    +		} else {
    +			DP_NOTICE(hwfn, "Failed to fill link; No PTT\n");
    +		}
     	} else {
     		qed_fill_link(hwfn, NULL, if_link);
     	}
    -- 
    2.18.1
  

Patch

diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index aecb98261..f0ca3373f 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -584,13 +584,12 @@  qed_get_current_link(struct ecore_dev *edev, struct qed_link_output *if_link)
 	hwfn = &edev->hwfns[0];
 	if (IS_PF(edev)) {
 		ptt = ecore_ptt_acquire(hwfn);
-		if (!ptt)
-			DP_NOTICE(hwfn, true, "Failed to fill link; No PTT\n");
-
+		if (ptt) {
 			qed_fill_link(hwfn, ptt, if_link);
-
-		if (ptt)
 			ecore_ptt_release(hwfn, ptt);
+		} else {
+			DP_NOTICE(hwfn, "Failed to fill link; No PTT\n");
+		}
 	} else {
 		qed_fill_link(hwfn, NULL, if_link);
 	}