aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/spider_net.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-15 20:35:57 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-15 20:35:57 -0400
commitd0174640eedc1cd756754f03afe2dbb3d56de74e (patch)
tree57d9911c28da12b05bc78a2f53dab349479fe37b /drivers/net/spider_net.c
parentbb8bd3a52a5dbca8bea31bfc72dacfb384170e69 (diff)
parentfadacb1b80e35e0b36a90d43e21ef91eec4b889b (diff)
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: drivers/net/pcmcia/3c589_cs: fix port configuration switcheroo sk98lin: resurrect driver ucc_geth: fix compilation mv643xx_eth: Fix tx_bytes stats calculation As struct iw_point is bi-directional payload, we should copy back the content [PATCH] bcm43xx: Fix cancellation of work queue crashes spidernet: fix interrupt reason recognition ehea: fix last_rx update ehea: propagate physical port state Fix a lock problem in generic phy code sky2: restore multicast list on resume and other ops atl1: disable broken 64-bit DMA
Diffstat (limited to 'drivers/net/spider_net.c')
-rw-r--r--drivers/net/spider_net.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index 590b12c7246c..82d837ab4db9 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1441,17 +1441,14 @@ static void
1441spider_net_handle_error_irq(struct spider_net_card *card, u32 status_reg) 1441spider_net_handle_error_irq(struct spider_net_card *card, u32 status_reg)
1442{ 1442{
1443 u32 error_reg1, error_reg2; 1443 u32 error_reg1, error_reg2;
1444 u32 mask_reg1, mask_reg2;
1445 u32 i; 1444 u32 i;
1446 int show_error = 1; 1445 int show_error = 1;
1447 1446
1448 error_reg1 = spider_net_read_reg(card, SPIDER_NET_GHIINT1STS); 1447 error_reg1 = spider_net_read_reg(card, SPIDER_NET_GHIINT1STS);
1449 error_reg2 = spider_net_read_reg(card, SPIDER_NET_GHIINT2STS); 1448 error_reg2 = spider_net_read_reg(card, SPIDER_NET_GHIINT2STS);
1450 mask_reg1 = spider_net_read_reg(card, SPIDER_NET_GHIINT1MSK);
1451 mask_reg2 = spider_net_read_reg(card,SPIDER_NET_GHIINT2MSK);
1452 1449
1453 error_reg1 &= mask_reg1; 1450 error_reg1 &= SPIDER_NET_INT1_MASK_VALUE;
1454 error_reg2 &= mask_reg2; 1451 error_reg2 &= SPIDER_NET_INT2_MASK_VALUE;
1455 1452
1456 /* check GHIINT0STS ************************************/ 1453 /* check GHIINT0STS ************************************/
1457 if (status_reg) 1454 if (status_reg)
@@ -1679,11 +1676,10 @@ spider_net_interrupt(int irq, void *ptr)
1679{ 1676{
1680 struct net_device *netdev = ptr; 1677 struct net_device *netdev = ptr;
1681 struct spider_net_card *card = netdev_priv(netdev); 1678 struct spider_net_card *card = netdev_priv(netdev);
1682 u32 status_reg, mask_reg; 1679 u32 status_reg;
1683 1680
1684 status_reg = spider_net_read_reg(card, SPIDER_NET_GHIINT0STS); 1681 status_reg = spider_net_read_reg(card, SPIDER_NET_GHIINT0STS);
1685 mask_reg = spider_net_read_reg(card, SPIDER_NET_GHIINT0MSK); 1682 status_reg &= SPIDER_NET_INT0_MASK_VALUE;
1686 status_reg &= mask_reg;
1687 1683
1688 if (!status_reg) 1684 if (!status_reg)
1689 return IRQ_NONE; 1685 return IRQ_NONE;