Skip to content

Commit 30e3384

Browse files
Michael Chandavem330
authored andcommitted
bnxt_en: Support clearing of the IFF_BROADCAST flag.
Currently, the driver assumes IFF_BROADCAST is always set and always sets the broadcast filter. Modify the code to set or clear the broadcast filter according to the IFF_BROADCAST flag. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 78f058a commit 30e3384

File tree

1 file changed

+7
-2
lines changed
  • drivers/net/ethernet/broadcom/bnxt

1 file changed

+7
-2
lines changed

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5712,7 +5712,9 @@ static int bnxt_init_chip(struct bnxt *bp, bool irq_re_init)
57125712
}
57135713
vnic->uc_filter_count = 1;
57145714

5715-
vnic->rx_mask = CFA_L2_SET_RX_MASK_REQ_MASK_BCAST;
5715+
vnic->rx_mask = 0;
5716+
if (bp->dev->flags & IFF_BROADCAST)
5717+
vnic->rx_mask |= CFA_L2_SET_RX_MASK_REQ_MASK_BCAST;
57165718

57175719
if ((bp->dev->flags & IFF_PROMISC) && bnxt_promisc_ok(bp))
57185720
vnic->rx_mask |= CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS;
@@ -7214,13 +7216,16 @@ static void bnxt_set_rx_mode(struct net_device *dev)
72147216

72157217
mask &= ~(CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS |
72167218
CFA_L2_SET_RX_MASK_REQ_MASK_MCAST |
7217-
CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST);
7219+
CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST |
7220+
CFA_L2_SET_RX_MASK_REQ_MASK_BCAST);
72187221

72197222
if ((dev->flags & IFF_PROMISC) && bnxt_promisc_ok(bp))
72207223
mask |= CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS;
72217224

72227225
uc_update = bnxt_uc_list_updated(bp);
72237226

7227+
if (dev->flags & IFF_BROADCAST)
7228+
mask |= CFA_L2_SET_RX_MASK_REQ_MASK_BCAST;
72247229
if (dev->flags & IFF_ALLMULTI) {
72257230
mask |= CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST;
72267231
vnic->mc_list_count = 0;

0 commit comments

Comments
 (0)