diff options
-rw-r--r-- | drivers/net/pcnet32.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c index 31e6dd04985..549a0738588 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c | |||
@@ -22,8 +22,8 @@ | |||
22 | *************************************************************************/ | 22 | *************************************************************************/ |
23 | 23 | ||
24 | #define DRV_NAME "pcnet32" | 24 | #define DRV_NAME "pcnet32" |
25 | #define DRV_VERSION "1.31b" | 25 | #define DRV_VERSION "1.31c" |
26 | #define DRV_RELDATE "06.Oct.2005" | 26 | #define DRV_RELDATE "01.Nov.2005" |
27 | #define PFX DRV_NAME ": " | 27 | #define PFX DRV_NAME ": " |
28 | 28 | ||
29 | static const char *version = | 29 | static const char *version = |
@@ -262,6 +262,9 @@ static int homepna[MAX_UNITS]; | |||
262 | * to allow loopback test to work unchanged. | 262 | * to allow loopback test to work unchanged. |
263 | * v1.31b 06 Oct 2005 Don Fry changed alloc_ring to show name of device | 263 | * v1.31b 06 Oct 2005 Don Fry changed alloc_ring to show name of device |
264 | * if allocation fails | 264 | * if allocation fails |
265 | * v1.31c 01 Nov 2005 Don Fry Allied Telesyn 2700/2701 FX are 100Mbit only. | ||
266 | * Force 100Mbit FD if Auto (ASEL) is selected. | ||
267 | * See Bugzilla 2669 and 4551. | ||
265 | */ | 268 | */ |
266 | 269 | ||
267 | 270 | ||
@@ -1612,12 +1615,18 @@ pcnet32_open(struct net_device *dev) | |||
1612 | val |= 0x10; | 1615 | val |= 0x10; |
1613 | lp->a.write_csr (ioaddr, 124, val); | 1616 | lp->a.write_csr (ioaddr, 124, val); |
1614 | 1617 | ||
1615 | /* Allied Telesyn AT 2700/2701 FX looses the link, so skip that */ | 1618 | /* Allied Telesyn AT 2700/2701 FX are 100Mbit only and do not negotiate */ |
1616 | if (lp->pci_dev->subsystem_vendor == PCI_VENDOR_ID_AT && | 1619 | if (lp->pci_dev->subsystem_vendor == PCI_VENDOR_ID_AT && |
1617 | (lp->pci_dev->subsystem_device == PCI_SUBDEVICE_ID_AT_2700FX || | 1620 | (lp->pci_dev->subsystem_device == PCI_SUBDEVICE_ID_AT_2700FX || |
1618 | lp->pci_dev->subsystem_device == PCI_SUBDEVICE_ID_AT_2701FX)) { | 1621 | lp->pci_dev->subsystem_device == PCI_SUBDEVICE_ID_AT_2701FX)) { |
1619 | printk(KERN_DEBUG "%s: Skipping PHY selection.\n", dev->name); | 1622 | if (lp->options & PCNET32_PORT_ASEL) { |
1620 | } else { | 1623 | lp->options = PCNET32_PORT_FD | PCNET32_PORT_100; |
1624 | if (netif_msg_link(lp)) | ||
1625 | printk(KERN_DEBUG "%s: Setting 100Mb-Full Duplex.\n", | ||
1626 | dev->name); | ||
1627 | } | ||
1628 | } | ||
1629 | { | ||
1621 | /* | 1630 | /* |
1622 | * 24 Jun 2004 according AMD, in order to change the PHY, | 1631 | * 24 Jun 2004 according AMD, in order to change the PHY, |
1623 | * DANAS (or DISPM for 79C976) must be set; then select the speed, | 1632 | * DANAS (or DISPM for 79C976) must be set; then select the speed, |