lkml.org 
[lkml]   [2007]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 097/101] revert "drivers/net/tulip/dmfe: support basic carrier detection"

    From: Andrew Morton <akpm@linux-foundation.org>

    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>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/net/tulip/dmfe.c | 9 +--------
    1 file changed, 1 insertion(+), 8 deletions(-)

    --- linux-2.6.20.1.orig/drivers/net/tulip/dmfe.c
    +++ linux-2.6.20.1/drivers/net/tulip/dmfe.c
    @@ -187,7 +187,7 @@ struct rx_desc {
    struct dmfe_board_info {
    u32 chip_id; /* Chip vendor/Device ID */
    u32 chip_revision; /* Chip revision */
    - struct DEVICE *dev; /* net device */
    + struct DEVICE *next_dev; /* next device */
    struct pci_dev *pdev; /* PCI device */
    spinlock_t lock;

    @@ -399,8 +399,6 @@ static int __devinit dmfe_init_one (stru
    /* Init system & device */
    db = netdev_priv(dev);

    - db->dev = dev;
    -
    /* 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->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 (stru
    dev->poll_controller = &poll_dmfe;
    #endif
    dev->ethtool_ops = &netdev_ethtool_ops;
    - netif_carrier_off(db->dev);
    spin_lock_init(&db->lock);

    pci_read_config_dword(pdev, 0x50, &pci_pmr);
    @@ -1053,7 +1050,6 @@ static void netdev_get_drvinfo(struct ne

    static const struct ethtool_ops netdev_ethtool_ops = {
    .get_drvinfo = netdev_get_drvinfo,
    - .get_link = ethtool_op_get_link,
    };

    /*
    @@ -1148,7 +1144,6 @@ static void dmfe_timer(unsigned long dat
    /* Link Failed */
    DMFE_DBUG(0, "Link Failed", tmp_cr12);
    db->link_failed = 1;
    - netif_carrier_off(db->dev);

    /* For Force 10/100M Half/Full mode: Enable Auto-Nego mode */
    /* AUTO or force 1M Homerun/Longrun don't need */
    @@ -1171,8 +1166,6 @@ static void dmfe_timer(unsigned long dat
    if ( (db->media_mode & DMFE_AUTO) &&
    dmfe_sense_speed(db) )
    db->link_failed = 1;
    - else
    - netif_carrier_on(db->dev);
    dmfe_process_mode(db);
    /* SHOW_MEDIA_TYPE(db->op_mode); */
    }
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-03-07 18:47    [W:4.407 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site