diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-03-29 05:48:28 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-03-29 05:48:28 -0500 |
commit | a023ddd0ebfae9f76c14a077163df703b67b279d (patch) | |
tree | 57931926ce423810a46a1686354fdbfa9c77c8b2 | |
parent | 654ebdefc23e87ad73c8087fae3f9d1d73fd7682 (diff) | |
parent | f54c79e6d527a262c45cef018d519a04d4db4e5e (diff) | |
download | history-a023ddd0ebfae9f76c14a077163df703b67b279d.tar.gz |
Merge pobox.com:/garz/repo/linux-2.6
into pobox.com:/garz/repo/net-drivers-2.6
-rw-r--r-- | MAINTAINERS | 7 | ||||
-rw-r--r-- | drivers/net/8139too.c | 8 | ||||
-rw-r--r-- | drivers/net/Kconfig | 5 | ||||
-rw-r--r-- | drivers/net/arcnet/arcnet.c | 4 | ||||
-rw-r--r-- | drivers/net/bonding/bond_alb.c | 4 | ||||
-rw-r--r-- | drivers/net/depca.c | 2 | ||||
-rw-r--r-- | drivers/net/mii.c | 9 | ||||
-rw-r--r-- | drivers/net/sis900.c | 2 | ||||
-rw-r--r-- | drivers/net/sk98lin/skethtool.c | 3 | ||||
-rw-r--r-- | drivers/net/via-velocity.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/airo.c | 2 |
11 files changed, 32 insertions, 20 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 6335df60cfdab..d824a0b79a07e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2044,10 +2044,11 @@ W: http://gyver.homeip.net/sis5513/index.html S: Maintained SIS 900/7016 FAST ETHERNET DRIVER -P: Ollie Lho -M: ollie@sis.com.tw +P: Daniele Venzano +M: venza@brownhat.org +W: http://www.brownhat.org/sis900.html L: linux-net@vger.kernel.org -S: Supported +S: Maintained SIS FRAMEBUFFER DRIVER P: Thomas Winischhofer diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index d9b606991339d..d4bd20c21a1f2 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c @@ -749,7 +749,6 @@ static void __rtl8139_cleanup_dev (struct net_device *dev) pci_release_regions (pdev); free_netdev(dev); - pci_disable_device(pdev); pci_set_drvdata (pdev, NULL); } @@ -778,7 +777,7 @@ static int __devinit rtl8139_init_board (struct pci_dev *pdev, struct net_device *dev; struct rtl8139_private *tp; u8 tmp8; - int rc; + int rc, disable_dev_on_err = 0; unsigned int i; unsigned long pio_start, pio_end, pio_flags, pio_len; unsigned long mmio_start, mmio_end, mmio_flags, mmio_len; @@ -850,6 +849,7 @@ static int __devinit rtl8139_init_board (struct pci_dev *pdev, rc = pci_request_regions (pdev, "8139too"); if (rc) goto err_out; + disable_dev_on_err = 1; /* enable PCI bus-mastering */ pci_set_master (pdev); @@ -935,6 +935,8 @@ match: err_out: __rtl8139_cleanup_dev (dev); + if (disable_dev_on_err) + pci_disable_device (pdev); return rc; } @@ -1112,6 +1114,7 @@ static int __devinit rtl8139_init_one (struct pci_dev *pdev, err_out: __rtl8139_cleanup_dev (dev); + pci_disable_device (pdev); return i; } @@ -1125,6 +1128,7 @@ static void __devexit rtl8139_remove_one (struct pci_dev *pdev) unregister_netdev (dev); __rtl8139_cleanup_dev (dev); + pci_disable_device (pdev); } diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 7b96506dfac1b..74d57865a819f 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -44,6 +44,7 @@ config DUMMY config BONDING tristate "Bonding driver support" depends on NETDEVICES + depends on INET ---help--- Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet Channels together. This is called 'Etherchannel' by Cisco, @@ -612,7 +613,7 @@ config EL16 will be called 3c507. config EL3 - tristate "3c509/3c529 (MCA)/3c569B (98)/3c579 \"EtherLink III\" support" + tristate "3c509/3c529 (MCA)/3c579 \"EtherLink III\" support" depends on NET_VENDOR_3COM && (ISA || EISA || MCA) ---help--- If you have a network (Ethernet) card belonging to the 3Com @@ -876,7 +877,7 @@ config NI65 source "drivers/net/tulip/Kconfig" config AT1700 - tristate "AT1700/1720/RE1000Plus(C-Bus) support (EXPERIMENTAL)" + tristate "AT1700/1720 support (EXPERIMENTAL)" depends on NET_ETHERNET && (ISA || MCA_LEGACY) && EXPERIMENTAL select CRC32 ---help--- diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c index 890a46a200d64..4f9f69e22c1bd 100644 --- a/drivers/net/arcnet/arcnet.c +++ b/drivers/net/arcnet/arcnet.c @@ -253,7 +253,7 @@ static void release_arcbuf(struct net_device *dev, int bufnum) BUGLVL(D_DURING) { BUGMSG(D_DURING, "release_arcbuf: freed #%d; buffer queue is now: ", bufnum); - for (i = lp->next_buf; i != lp->first_free_buf; i = ++i % 5) + for (i = lp->next_buf; i != lp->first_free_buf; i = (i+1) % 5) BUGMSG2(D_DURING, "#%d ", lp->buf_queue[i]); BUGMSG2(D_DURING, "\n"); } @@ -289,7 +289,7 @@ static int get_arcbuf(struct net_device *dev) BUGLVL(D_DURING) { BUGMSG(D_DURING, "get_arcbuf: got #%d; buffer queue is now: ", buf); - for (i = lp->next_buf; i != lp->first_free_buf; i = ++i % 5) + for (i = lp->next_buf; i != lp->first_free_buf; i = (i+1) % 5) BUGMSG2(D_DURING, "#%d ", lp->buf_queue[i]); BUGMSG2(D_DURING, "\n"); } diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index 544610255b57c..5ce606d9dc03f 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c @@ -54,6 +54,7 @@ #include <linux/if_ether.h> #include <linux/if_bonding.h> #include <linux/if_vlan.h> +#include <linux/in.h> #include <net/ipx.h> #include <net/arp.h> #include <asm/byteorder.h> @@ -1300,7 +1301,8 @@ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev) switch (ntohs(skb->protocol)) { case ETH_P_IP: if ((memcmp(eth_data->h_dest, mac_bcast, ETH_ALEN) == 0) || - (skb->nh.iph->daddr == ip_bcast)) { + (skb->nh.iph->daddr == ip_bcast) || + (skb->nh.iph->protocol == IPPROTO_IGMP)) { do_tx_balance = 0; break; } diff --git a/drivers/net/depca.c b/drivers/net/depca.c index d00e29c217b26..c4aa5fe2840e7 100644 --- a/drivers/net/depca.c +++ b/drivers/net/depca.c @@ -1827,7 +1827,7 @@ static int load_packet(struct net_device *dev, struct sk_buff *skb) /* set up the buffer descriptors */ len = (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len; - for (i = entry; i != end; i = (++i) & lp->txRingMask) { + for (i = entry; i != end; i = (i+1) & lp->txRingMask) { /* clean out flags */ writel(readl(&lp->tx_ring[i].base) & ~T_FLAGS, &lp->tx_ring[i].base); writew(0x0000, &lp->tx_ring[i].misc); /* clears other error flags */ diff --git a/drivers/net/mii.c b/drivers/net/mii.c index 73c439a2ccd54..c33cb3dc942b7 100644 --- a/drivers/net/mii.c +++ b/drivers/net/mii.c @@ -43,6 +43,9 @@ int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd) (SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full | SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Full | SUPPORTED_Autoneg | SUPPORTED_TP | SUPPORTED_MII); + if (mii->supports_gmii) + ecmd->supported |= SUPPORTED_1000baseT_Half | + SUPPORTED_1000baseT_Full; /* only supports twisted-pair */ ecmd->port = PORT_MII; @@ -100,7 +103,7 @@ int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd) } else { ecmd->autoneg = AUTONEG_DISABLE; - ecmd->speed = ((bmcr2 & BMCR_SPEED1000 && + ecmd->speed = ((bmcr & BMCR_SPEED1000 && (bmcr & BMCR_SPEED100) == 0) ? SPEED_1000 : (bmcr & BMCR_SPEED100) ? SPEED_100 : SPEED_10); ecmd->duplex = (bmcr & BMCR_FULLDPLX) ? DUPLEX_FULL : DUPLEX_HALF; @@ -163,9 +166,9 @@ int mii_ethtool_sset(struct mii_if_info *mii, struct ethtool_cmd *ecmd) tmp |= ADVERTISE_100FULL; if (mii->supports_gmii) { if (ecmd->advertising & ADVERTISED_1000baseT_Half) - advert2 |= ADVERTISE_1000HALF; + tmp2 |= ADVERTISE_1000HALF; if (ecmd->advertising & ADVERTISED_1000baseT_Full) - advert2 |= ADVERTISE_1000FULL; + tmp2 |= ADVERTISE_1000FULL; } if (advert != tmp) { mii->mdio_write(dev, mii->phy_id, MII_ADVERTISE, tmp); diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c index 37c81232036a9..3e9d9aab05887 100644 --- a/drivers/net/sis900.c +++ b/drivers/net/sis900.c @@ -196,7 +196,9 @@ MODULE_PARM_DESC(multicast_filter_limit, "SiS 900/7016 maximum number of filtere MODULE_PARM_DESC(max_interrupt_work, "SiS 900/7016 maximum events handled per interrupt"); MODULE_PARM_DESC(sis900_debug, "SiS 900/7016 bitmapped debugging message level"); +#ifdef CONFIG_NET_POLL_CONTROLLER static void sis900_poll(struct net_device *dev); +#endif static int sis900_open(struct net_device *net_dev); static int sis900_mii_probe (struct net_device * net_dev); static void sis900_init_rxfilter (struct net_device * net_dev); diff --git a/drivers/net/sk98lin/skethtool.c b/drivers/net/sk98lin/skethtool.c index f45c98feca996..fb639959292b3 100644 --- a/drivers/net/sk98lin/skethtool.c +++ b/drivers/net/sk98lin/skethtool.c @@ -437,9 +437,6 @@ static int locateDevice(struct net_device *dev, u32 data) pAC->LedsOn = 0; mod_timer(&pAC->BlinkTimer, jiffies); msleep_interruptible(data * 1000); - - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(data * HZ); del_timer_sync(&pAC->BlinkTimer); toggleLeds(pNet, 0); diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index 675115e86c892..15e710283493f 100644 --- a/drivers/net/via-velocity.c +++ b/drivers/net/via-velocity.c @@ -3212,7 +3212,8 @@ static int velocity_set_wol(struct velocity_info *vptr) static int velocity_suspend(struct pci_dev *pdev, pm_message_t state) { - struct velocity_info *vptr = pci_get_drvdata(pdev); + struct net_device *dev = pci_get_drvdata(pdev); + struct velocity_info *vptr = netdev_priv(dev); unsigned long flags; if(!netif_running(vptr->dev)) @@ -3245,7 +3246,8 @@ static int velocity_suspend(struct pci_dev *pdev, pm_message_t state) static int velocity_resume(struct pci_dev *pdev) { - struct velocity_info *vptr = pci_get_drvdata(pdev); + struct net_device *dev = pci_get_drvdata(pdev); + struct velocity_info *vptr = netdev_priv(dev); unsigned long flags; int i; diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c index 36161cdf40221..2899144f21537 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c @@ -3440,7 +3440,7 @@ static void mpi_receive_802_3(struct airo_info *ai) /* Make sure we got something */ if (rxd.rdy && rxd.valid == 0) { len = rxd.len + 12; - if (len < 12 && len > 2048) + if (len < 12 || len > 2048) goto badrx; skb = dev_alloc_skb(len); |