aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tulip/dmfe.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2007-03-06 05:41:49 -0500
committerJeff Garzik <jeff@garzik.org>2007-03-06 06:10:02 -0500
commitead9bffb157a22c1f883beb8d20ba8bf7bc92a58 (patch)
tree0b766eba77cce0524e4d5254f11675365af5f54c /drivers/net/tulip/dmfe.c
parent18babd38547a042a4bfd4154a014d1ad33373eb0 (diff)
revert "drivers/net/tulip/dmfe: support basic carrier detection"
Revert 7628b0a8c01a02966d2228bdf741ddedb128e8f8. Thomas Bachler reports: Commit 7628b0a8c01a02966d2228bdf741ddedb128e8f8 (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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/tulip/dmfe.c')
-rw-r--r--drivers/net/tulip/dmfe.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index 7f59a3d4fda2..4dd8a0bae860 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -187,7 +187,7 @@ struct rx_desc {
187struct dmfe_board_info { 187struct dmfe_board_info {
188 u32 chip_id; /* Chip vendor/Device ID */ 188 u32 chip_id; /* Chip vendor/Device ID */
189 u32 chip_revision; /* Chip revision */ 189 u32 chip_revision; /* Chip revision */
190 struct DEVICE *dev; /* net device */ 190 struct DEVICE *next_dev; /* next device */
191 struct pci_dev *pdev; /* PCI device */ 191 struct pci_dev *pdev; /* PCI device */
192 spinlock_t lock; 192 spinlock_t lock;
193 193
@@ -399,8 +399,6 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev,
399 /* Init system & device */ 399 /* Init system & device */
400 db = netdev_priv(dev); 400 db = netdev_priv(dev);
401 401
402 db->dev = dev;
403
404 /* Allocate Tx/Rx descriptor memory */ 402 /* Allocate Tx/Rx descriptor memory */
405 db->desc_pool_ptr = pci_alloc_consistent(pdev, sizeof(struct tx_desc) * DESC_ALL_CNT + 0x20, &db->desc_pool_dma_ptr); 403 db->desc_pool_ptr = pci_alloc_consistent(pdev, sizeof(struct tx_desc) * DESC_ALL_CNT + 0x20, &db->desc_pool_dma_ptr);
406 db->buf_pool_ptr = pci_alloc_consistent(pdev, TX_BUF_ALLOC * TX_DESC_CNT + 4, &db->buf_pool_dma_ptr); 404 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 dev->poll_controller = &poll_dmfe; 426 dev->poll_controller = &poll_dmfe;
429#endif 427#endif
430 dev->ethtool_ops = &netdev_ethtool_ops; 428 dev->ethtool_ops = &netdev_ethtool_ops;
431 netif_carrier_off(db->dev);
432 spin_lock_init(&db->lock); 429 spin_lock_init(&db->lock);
433 430
434 pci_read_config_dword(pdev, 0x50, &pci_pmr); 431 pci_read_config_dword(pdev, 0x50, &pci_pmr);
@@ -1053,7 +1050,6 @@ static void netdev_get_drvinfo(struct net_device *dev,
1053 1050
1054static const struct ethtool_ops netdev_ethtool_ops = { 1051static const struct ethtool_ops netdev_ethtool_ops = {
1055 .get_drvinfo = netdev_get_drvinfo, 1052 .get_drvinfo = netdev_get_drvinfo,
1056 .get_link = ethtool_op_get_link,
1057}; 1053};
1058 1054
1059/* 1055/*
@@ -1148,7 +1144,6 @@ static void dmfe_timer(unsigned long data)
1148 /* Link Failed */ 1144 /* Link Failed */
1149 DMFE_DBUG(0, "Link Failed", tmp_cr12); 1145 DMFE_DBUG(0, "Link Failed", tmp_cr12);
1150 db->link_failed = 1; 1146 db->link_failed = 1;
1151 netif_carrier_off(db->dev);
1152 1147
1153 /* For Force 10/100M Half/Full mode: Enable Auto-Nego mode */ 1148 /* For Force 10/100M Half/Full mode: Enable Auto-Nego mode */
1154 /* AUTO or force 1M Homerun/Longrun don't need */ 1149 /* AUTO or force 1M Homerun/Longrun don't need */
@@ -1171,8 +1166,6 @@ static void dmfe_timer(unsigned long data)
1171 if ( (db->media_mode & DMFE_AUTO) && 1166 if ( (db->media_mode & DMFE_AUTO) &&
1172 dmfe_sense_speed(db) ) 1167 dmfe_sense_speed(db) )
1173 db->link_failed = 1; 1168 db->link_failed = 1;
1174 else
1175 netif_carrier_on(db->dev);
1176 dmfe_process_mode(db); 1169 dmfe_process_mode(db);
1177 /* SHOW_MEDIA_TYPE(db->op_mode); */ 1170 /* SHOW_MEDIA_TYPE(db->op_mode); */
1178 } 1171 }