net/qede: fix get link details
Checks
Commit Message
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
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
@@ -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);
}