Don't call bnx2x_link_status_update() from bnx2x_link_update().
Actual use case of bnx2x_link_status_update() is to update the link
status in shared memory between driver and MFW, and not to get the
link status from HW.
So ideally, bnx2x_link_status_update() should be called when there
is an actual link event or change in link status.
Calling bnx2x_link_status_update() from bnx2x_link_update() may
corrupt the data of link status in shared memory and result
in inconsistent state of link.
Fixes:
540a211084a7 ("bnx2x: driver core")
Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
Acked-by: Rasesh Mody <rmody@marvell.com>
PMD_INIT_FUNC_TRACE(sc);
- bnx2x_link_status_update(sc);
memset(&link, 0, sizeof(link));
mb();
link.link_speed = sc->link_vars.line_speed;