aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-03-29 05:48:28 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-03-29 05:48:28 -0500
commita023ddd0ebfae9f76c14a077163df703b67b279d (patch)
tree57931926ce423810a46a1686354fdbfa9c77c8b2
parent654ebdefc23e87ad73c8087fae3f9d1d73fd7682 (diff)
parentf54c79e6d527a262c45cef018d519a04d4db4e5e (diff)
downloadhistory-a023ddd0ebfae9f76c14a077163df703b67b279d.tar.gz
Merge pobox.com:/garz/repo/linux-2.6
into pobox.com:/garz/repo/net-drivers-2.6
-rw-r--r--MAINTAINERS7
-rw-r--r--drivers/net/8139too.c8
-rw-r--r--drivers/net/Kconfig5
-rw-r--r--drivers/net/arcnet/arcnet.c4
-rw-r--r--drivers/net/bonding/bond_alb.c4
-rw-r--r--drivers/net/depca.c2
-rw-r--r--drivers/net/mii.c9
-rw-r--r--drivers/net/sis900.c2
-rw-r--r--drivers/net/sk98lin/skethtool.c3
-rw-r--r--drivers/net/via-velocity.c6
-rw-r--r--drivers/net/wireless/airo.c2
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);