lkml.org 
[lkml]   [2008]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/4] atl1: fix transmit timeout bug
    Date
    See http://marc.info/?l=linux-netdev&m=121931988219314&w=2

    Stop the queue and turn off carrier to prevent transmit timeouts
    when the cable is unplugged/replugged.

    Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    ---
    drivers/net/atlx/atl1.c | 4 +++-
    drivers/net/atlx/atlx.c | 1 -
    2 files changed, 3 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
    index e23ce77..e00a986 100644
    --- a/drivers/net/atlx/atl1.c
    +++ b/drivers/net/atlx/atl1.c
    @@ -2642,6 +2642,7 @@ static void atl1_down(struct atl1_adapter *adapter)
    {
    struct net_device *netdev = adapter->netdev;

    + netif_stop_queue(netdev);
    del_timer_sync(&adapter->watchdog_timer);
    del_timer_sync(&adapter->phy_config_timer);
    adapter->phy_timer_pending = false;
    @@ -2655,7 +2656,6 @@ static void atl1_down(struct atl1_adapter *adapter)
    adapter->link_speed = SPEED_0;
    adapter->link_duplex = -1;
    netif_carrier_off(netdev);
    - netif_stop_queue(netdev);

    atl1_clean_tx_ring(adapter);
    atl1_clean_rx_ring(adapter);
    @@ -2724,6 +2724,8 @@ static int atl1_open(struct net_device *netdev)
    struct atl1_adapter *adapter = netdev_priv(netdev);
    int err;

    + netif_carrier_off(netdev);
    +
    /* allocate transmit descriptors */
    err = atl1_setup_ring_resources(adapter);
    if (err)
    diff --git a/drivers/net/atlx/atlx.c b/drivers/net/atlx/atlx.c
    index b3e7fcf..3cc9d10 100644
    --- a/drivers/net/atlx/atlx.c
    +++ b/drivers/net/atlx/atlx.c
    @@ -105,7 +105,6 @@ static void atlx_check_for_link(struct atlx_adapter *adapter)
    netdev->name);
    adapter->link_speed = SPEED_0;
    netif_carrier_off(netdev);
    - netif_stop_queue(netdev);
    }
    }
    schedule_work(&adapter->link_chg_task);
    --
    1.5.5.1


    \
     
     \ /
      Last update: 2008-09-27 16:29    [W:0.022 / U:0.224 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site