Commit ead9bffb authored by Andrew Morton's avatar Andrew Morton Committed by Jeff Garzik

revert "drivers/net/tulip/dmfe: support basic carrier detection"

Revert 7628b0a8.  Thomas Bachler
reports:

  Commit 7628b0a8 (drivers/net/tulip/dmfe:
  support basic carrier detection) breaks networking on my Davicom DM9009.
  ethtool always reports there is no link.  tcpdump shows incoming packets,
  but TX is disabled.  Reverting the above patch fixes the problem.

Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Valerie Henson <val_henson@linux.intel.com>
Cc: Thomas Bachler <thomas@archlinux.org>
Cc: <stable@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 18babd38
...@@ -187,7 +187,7 @@ struct rx_desc { ...@@ -187,7 +187,7 @@ struct rx_desc {
struct dmfe_board_info { struct dmfe_board_info {
u32 chip_id; /* Chip vendor/Device ID */ u32 chip_id; /* Chip vendor/Device ID */
u32 chip_revision; /* Chip revision */ u32 chip_revision; /* Chip revision */
struct DEVICE *dev; /* net device */ struct DEVICE *next_dev; /* next device */
struct pci_dev *pdev; /* PCI device */ struct pci_dev *pdev; /* PCI device */
spinlock_t lock; spinlock_t lock;
...@@ -399,8 +399,6 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev, ...@@ -399,8 +399,6 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev,
/* Init system & device */ /* Init system & device */
db = netdev_priv(dev); db = netdev_priv(dev);
db->dev = dev;
/* Allocate Tx/Rx descriptor memory */ /* Allocate Tx/Rx descriptor memory */
db->desc_pool_ptr = pci_alloc_consistent(pdev, sizeof(struct tx_desc) * DESC_ALL_CNT + 0x20, &db->desc_pool_dma_ptr); db->desc_pool_ptr = pci_alloc_consistent(pdev, sizeof(struct tx_desc) * DESC_ALL_CNT + 0x20, &db->desc_pool_dma_ptr);
db->buf_pool_ptr = pci_alloc_consistent(pdev, TX_BUF_ALLOC * TX_DESC_CNT + 4, &db->buf_pool_dma_ptr); db->buf_pool_ptr = pci_alloc_consistent(pdev, TX_BUF_ALLOC * TX_DESC_CNT + 4, &db->buf_pool_dma_ptr);
...@@ -428,7 +426,6 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev, ...@@ -428,7 +426,6 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev,
dev->poll_controller = &poll_dmfe; dev->poll_controller = &poll_dmfe;
#endif #endif
dev->ethtool_ops = &netdev_ethtool_ops; dev->ethtool_ops = &netdev_ethtool_ops;
netif_carrier_off(db->dev);
spin_lock_init(&db->lock); spin_lock_init(&db->lock);
pci_read_config_dword(pdev, 0x50, &pci_pmr); pci_read_config_dword(pdev, 0x50, &pci_pmr);
...@@ -1053,7 +1050,6 @@ static void netdev_get_drvinfo(struct net_device *dev, ...@@ -1053,7 +1050,6 @@ static void netdev_get_drvinfo(struct net_device *dev,
static const struct ethtool_ops netdev_ethtool_ops = { static const struct ethtool_ops netdev_ethtool_ops = {
.get_drvinfo = netdev_get_drvinfo, .get_drvinfo = netdev_get_drvinfo,
.get_link = ethtool_op_get_link,
}; };
/* /*
...@@ -1148,7 +1144,6 @@ static void dmfe_timer(unsigned long data) ...@@ -1148,7 +1144,6 @@ static void dmfe_timer(unsigned long data)
/* Link Failed */ /* Link Failed */
DMFE_DBUG(0, "Link Failed", tmp_cr12); DMFE_DBUG(0, "Link Failed", tmp_cr12);
db->link_failed = 1; db->link_failed = 1;
netif_carrier_off(db->dev);
/* For Force 10/100M Half/Full mode: Enable Auto-Nego mode */ /* For Force 10/100M Half/Full mode: Enable Auto-Nego mode */
/* AUTO or force 1M Homerun/Longrun don't need */ /* AUTO or force 1M Homerun/Longrun don't need */
...@@ -1171,8 +1166,6 @@ static void dmfe_timer(unsigned long data) ...@@ -1171,8 +1166,6 @@ static void dmfe_timer(unsigned long data)
if ( (db->media_mode & DMFE_AUTO) && if ( (db->media_mode & DMFE_AUTO) &&
dmfe_sense_speed(db) ) dmfe_sense_speed(db) )
db->link_failed = 1; db->link_failed = 1;
else
netif_carrier_on(db->dev);
dmfe_process_mode(db); dmfe_process_mode(db);
/* SHOW_MEDIA_TYPE(db->op_mode); */ /* SHOW_MEDIA_TYPE(db->op_mode); */
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment