]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bnxt_en: Improve VF/PF link change logic.
authorMichael Chan <michael.chan@broadcom.com>
Sat, 14 Oct 2017 01:09:29 +0000 (21:09 -0400)
committerJack Vogel <jack.vogel@oracle.com>
Fri, 9 Mar 2018 04:50:36 +0000 (20:50 -0800)
commitb675d0a115a6ff979d36d6322912d8b1607271a7
tree4c0701aa9dc31ad9e519fcc7de0b796f5bab1aa4
parent79d7756d5e4b91355845e87ef01c5e1cb8a93260
bnxt_en: Improve VF/PF link change logic.

Orabug: 2764835527648339

Link status query firmware messages originating from the VFs are forwarded
to the PF.  The driver handles these interactions in a workqueue for the
VF and PF.  The VF driver waits for the response from the PF in the
workqueue.  If the PF and VF driver are running on the same host and the
work for both PF and VF are queued on the same workqueue, the VF driver
may not get the response if the PF work item is queued behind it on the
same workqueue.  This will lead to the VF link query message timing out.

To prevent this, we create a private workqueue for PFs instead of using
the common workqueue.  The VF query and PF response will never be on
the same workqueue.

Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit c213eae8d3cd4c026f348ce4fd64f4754b3acf2b)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
Conflicts:
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c