Skip to contentSkip to conversation

sky2 breakage

PATCH In review Al Viro 2 participants 2 messages Jul 20, 2007

Subsystems (2)
lore
Share & tools
lore

Al Viro

author
#0 lore raw

PATCH 1/1 sky2 breakage

	Doing |= 1 << 19 to 16bit unsigned is not particulary useful;

that register is 32bit, unlike the ones dealt with in the rest of function, so we need u32 variable here.

---

drivers/net/sky2.c +4 -3
index a2f3215..13f08a3 100644
@@ -692,6 +692,7 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port)
 {
 	struct sky2_port *sky2 = netdev_priv(hw->dev[port]);
 	u16 reg;
+	u32 rx_reg;
 	int i;
 	const u8 *addr = hw->dev[port]->dev_addr;
 
@@ -768,11 +769,11 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port)
 
 	/* Configure Rx MAC FIFO */
 	sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_CLR);
-	reg = GMF_OPER_ON | GMF_RX_F_FL_ON;
+	rx_reg = GMF_OPER_ON | GMF_RX_F_FL_ON;
 	if (hw->chip_id == CHIP_ID_YUKON_EX)
-		reg |= GMF_RX_OVER_ON;
+		rx_reg |= GMF_RX_OVER_ON;
 
-	sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), reg);
+	sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), rx_reg);
 
 	/* Flush Rx MAC FIFO on any flow control or error */
 	sky2_write16(hw, SK_REG(port, RX_GMF_FL_MSK), GMR_FS_ANY_ERR);
#1 lore raw
Quoted 5 lines · On Fri, 20 Jul 2007 16:07:33 +0100 Al Viro <[email protected]> wrote:
	Doing |= 1 << 19 to 16bit unsigned is not particulary useful;

that register is 32bit, unlike the ones dealt with in the rest of function, so we need u32 variable here.

Yes, thanks. This only applies to the YUKON_EX hardware support that is new (post 2.6.22), and no one but me has the boards yet, so not a big impact.