diff options
author | Mike McCormack <mikem@ring3k.org> | 2009-08-31 23:54:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-09-01 20:40:44 -0400 |
commit | 72c60683282a6cd047db47d605eb96e2a6fac72c (patch) | |
tree | 8cf9906142221f6ef80225d7cc29c7f045dcdb48 /drivers/net | |
parent | 90bbebb4a8258a398705ecaa2e6b9e177928ee7a (diff) |
sky2: Use 32bit read to read Y2_VAUX_AVAIL
B0_CTST is a 24bit register according to the vendor driver (sk98lin).
A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<<16),
so use a 32bit read when testing Y2_VAUX_AVAIL
Signed-off-by: Mike McCormack <mikem@ring3k.org>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/sky2.c | 2 | ||||
-rw-r--r-- | drivers/net/sky2.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 7108b1292b92..d1f3b46a2b08 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -273,7 +273,7 @@ static void sky2_power_aux(struct sky2_hw *hw) | |||
273 | Y2_COR_CLK_LNK2_DIS | Y2_CLK_GAT_LNK2_DIS); | 273 | Y2_COR_CLK_LNK2_DIS | Y2_CLK_GAT_LNK2_DIS); |
274 | 274 | ||
275 | /* switch power to VAUX */ | 275 | /* switch power to VAUX */ |
276 | if (sky2_read16(hw, B0_CTST) & Y2_VAUX_AVAIL) | 276 | if (sky2_read32(hw, B0_CTST) & Y2_VAUX_AVAIL) |
277 | sky2_write8(hw, B0_POWER_CTRL, | 277 | sky2_write8(hw, B0_POWER_CTRL, |
278 | (PC_VAUX_ENA | PC_VCC_ENA | | 278 | (PC_VAUX_ENA | PC_VCC_ENA | |
279 | PC_VAUX_ON | PC_VCC_OFF)); | 279 | PC_VAUX_ON | PC_VCC_OFF)); |
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index 34042ff7c121..e0f23a101043 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
@@ -260,7 +260,7 @@ enum csr_regs { | |||
260 | Y2_CFG_AER = 0x1d00, /* PCI Advanced Error Report region */ | 260 | Y2_CFG_AER = 0x1d00, /* PCI Advanced Error Report region */ |
261 | }; | 261 | }; |
262 | 262 | ||
263 | /* B0_CTST 16 bit Control/Status register */ | 263 | /* B0_CTST 24 bit Control/Status register */ |
264 | enum { | 264 | enum { |
265 | Y2_VMAIN_AVAIL = 1<<17,/* VMAIN available (YUKON-2 only) */ | 265 | Y2_VMAIN_AVAIL = 1<<17,/* VMAIN available (YUKON-2 only) */ |
266 | Y2_VAUX_AVAIL = 1<<16,/* VAUX available (YUKON-2 only) */ | 266 | Y2_VAUX_AVAIL = 1<<16,/* VAUX available (YUKON-2 only) */ |