Skip to contentSkip to conversation

net: macb: OR vs AND typos

PATCH Applied Dan Carpenter 3 participants 3 messages May 12, 2015 – May 14, 2015

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net: macb: OR vs AND typos

The bitwise tests are always true here because it uses '|' where '&' is intended.

Fixes 98b5a0f4a228 ('net: macb: Add support for jumbo frames')
drivers/net/ethernet/cadence/macb.c +4 -4
index e7c10b0..5fca309 100644
@@ -1644,7 +1644,7 @@ static void macb_init_hw(struct macb *bp)
 	config |= MACB_BF(RBOF, NET_IP_ALIGN);	/* Make eth data aligned */
 	config |= MACB_BIT(PAE);		/* PAuse Enable */
 	config |= MACB_BIT(DRFCS);		/* Discard Rx FCS */
-	if (bp->caps | MACB_CAPS_JUMBO)
+	if (bp->caps & MACB_CAPS_JUMBO)
 		config |= MACB_BIT(JFRAME);	/* Enable jumbo frames */
 	else
 		config |= MACB_BIT(BIG);	/* Receive oversized frames */
@@ -1656,12 +1656,12 @@ static void macb_init_hw(struct macb *bp)
 		config |= MACB_BIT(NBC);	/* No BroadCast */
 	config |= macb_dbw(bp);
 	macb_writel(bp, NCFGR, config);
-	if ((bp->caps | MACB_CAPS_JUMBO) && bp->jumbo_max_len)
+	if ((bp->caps & MACB_CAPS_JUMBO) && bp->jumbo_max_len)
 		gem_writel(bp, JML, bp->jumbo_max_len);
 	bp->speed = SPEED_10;
 	bp->duplex = DUPLEX_HALF;
 	bp->rx_frm_len_mask = MACB_RX_FRMLEN_MASK;
-	if (bp->caps | MACB_CAPS_JUMBO)
+	if (bp->caps & MACB_CAPS_JUMBO)
 		bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK;
 
 	macb_configure_dma(bp);
@@ -1875,7 +1875,7 @@ static int macb_change_mtu(struct net_device *dev, int new_mtu)
 		return -EBUSY;
 
 	max_mtu = ETH_DATA_LEN;
-	if (bp->caps | MACB_CAPS_JUMBO)
+	if (bp->caps & MACB_CAPS_JUMBO)
 		max_mtu = gem_readl(bp, JML) - ETH_HLEN - ETH_FCS_LEN;
 
 	if ((new_mtu > max_mtu) || (new_mtu < GEM_MTU_MIN_SIZE))
#1 lore raw

Hi,

Quoted 2 lines · Dan Carpenter

The bitwise tests are always true here because it uses '|' where '&' is intended.

Yes. I'm sorry about that.
It slipped through my testing as well because I was using an SoC with jumbo support.

Regards,
Harini