Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bnxt_en: Check status of firmware DCBX agent before setting DCB_CAP_DCBX_HOST.

Otherwise, all the host based DCBX settings from lldpad will fail if the
firmware DCBX agent is running.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Michael Chan and committed by
David S. Miller
f667724b 87fe6032

+4 -2
+4 -2
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
··· 553 553 if ((mode & DCB_CAP_DCBX_VER_CEE) || !(mode & DCB_CAP_DCBX_VER_IEEE)) 554 554 return 1; 555 555 556 - if ((mode & DCB_CAP_DCBX_HOST) && BNXT_VF(bp)) 557 - return 1; 556 + if (mode & DCB_CAP_DCBX_HOST) { 557 + if (BNXT_VF(bp) || (bp->flags & BNXT_FLAG_FW_LLDP_AGENT)) 558 + return 1; 559 + } 558 560 559 561 if (mode == bp->dcbx_cap) 560 562 return 0;