• Michael Chan's avatar
    bnxt_en: Improve VF/PF link change logic. · c213eae8
    Michael Chan authored
    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: c0c050c5 ("bnxt_en: New Broadcom ethernet driver.")
    Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c213eae8
bnxt.c 214 KB