From: Sudarsana Reddy Kalluru Date: Thu, 19 Jul 2018 05:50:03 +0000 (-0700) Subject: qed: Fix possible race for the link state value. X-Git-Tag: v4.19~571^2~23^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=58874c7b246109d8efb2b0099d1aa296d6bfc3fa;p=platform%2Fkernel%2Flinux-rpi.git qed: Fix possible race for the link state value. There's a possible race where driver can read link status in mid-transition and see that virtual-link is up yet speed is 0. Since in this mid-transition we're guaranteed to see a mailbox from MFW soon, we can afford to treat this as link down. Fixes: cc875c2e ("qed: Add link support") Signed-off-by: Sudarsana Reddy Kalluru Signed-off-by: Ariel Elior Signed-off-by: Michal Kalderon Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c index cace283..cdd6450 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c +++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c @@ -1211,6 +1211,7 @@ static void qed_mcp_handle_link_change(struct qed_hwfn *p_hwfn, break; default: p_link->speed = 0; + p_link->link_up = 0; } if (p_link->link_up && p_link->speed)