aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-05-10 17:59:29 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-05-10 17:59:29 -0400
commit6314410dd1e9db1c0009b0f7b56cc771a4d1e85a (patch)
treedafb5034fbeb54ee608eb0740aae561f35782880 /drivers/net/sky2.c
parent7fc5b1e3a170d865f625e609c087cf8d84fd285d (diff)
parentd8e95e52a9db0e26b37f51ab5140b89da7c4b31e (diff)
Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/shemminger/netdev-2.6
* 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/shemminger/netdev-2.6: sis900: phy for FoxCon motherboard dl2k: use DMA_48BIT_MASK constant phy: mdiobus_register(): initialize all phy_map entries sky2: ifdown kills irq mask
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 60cdfcabe1fd..ffd267fab21d 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -128,6 +128,7 @@ MODULE_DEVICE_TABLE(pci, sky2_id_table);
128/* Avoid conditionals by using array */ 128/* Avoid conditionals by using array */
129static const unsigned txqaddr[] = { Q_XA1, Q_XA2 }; 129static const unsigned txqaddr[] = { Q_XA1, Q_XA2 };
130static const unsigned rxqaddr[] = { Q_R1, Q_R2 }; 130static const unsigned rxqaddr[] = { Q_R1, Q_R2 };
131static const u32 portirq_msk[] = { Y2_IS_PORT_1, Y2_IS_PORT_2 };
131 132
132/* This driver supports yukon2 chipset only */ 133/* This driver supports yukon2 chipset only */
133static const char *yukon2_name[] = { 134static const char *yukon2_name[] = {
@@ -1084,7 +1085,7 @@ static int sky2_up(struct net_device *dev)
1084 1085
1085 /* Enable interrupts from phy/mac for port */ 1086 /* Enable interrupts from phy/mac for port */
1086 imask = sky2_read32(hw, B0_IMSK); 1087 imask = sky2_read32(hw, B0_IMSK);
1087 imask |= (port == 0) ? Y2_IS_PORT_1 : Y2_IS_PORT_2; 1088 imask |= portirq_msk[port];
1088 sky2_write32(hw, B0_IMSK, imask); 1089 sky2_write32(hw, B0_IMSK, imask);
1089 1090
1090 return 0; 1091 return 0;
@@ -1435,7 +1436,7 @@ static int sky2_down(struct net_device *dev)
1435 1436
1436 /* Disable port IRQ */ 1437 /* Disable port IRQ */
1437 imask = sky2_read32(hw, B0_IMSK); 1438 imask = sky2_read32(hw, B0_IMSK);
1438 imask &= ~(sky2->port == 0) ? Y2_IS_PORT_1 : Y2_IS_PORT_2; 1439 imask &= ~portirq_msk[port];
1439 sky2_write32(hw, B0_IMSK, imask); 1440 sky2_write32(hw, B0_IMSK, imask);
1440 1441
1441 /* turn off LED's */ 1442 /* turn off LED's */