lkml.org 
[lkml]   [2009]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[47/90] Au1x00: fix crash when trying register_netdev()
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Alexander Beregalov <a.beregalov@gmail.com>

    [ Upstream commit 63edaf647607795a065e6956a79c47f500dc8447 ]

    Andreas Lohre reported that the driver crashes when trying
    to register_netdev(), he sugessted to move dev->netdev_ops initialization
    before calling register_netdev(), it worked for him.

    Reported-by: Andreas Lohre <alohre@gmail.com>
    Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/net/au1000_eth.c | 15 ++++++++-------
    1 file changed, 8 insertions(+), 7 deletions(-)

    --- a/drivers/net/au1000_eth.c
    +++ b/drivers/net/au1000_eth.c
    @@ -1089,7 +1089,14 @@ static struct net_device * au1000_probe(
    return NULL;
    }

    - if ((err = register_netdev(dev)) != 0) {
    + dev->base_addr = base;
    + dev->irq = irq;
    + dev->netdev_ops = &au1000_netdev_ops;
    + SET_ETHTOOL_OPS(dev, &au1000_ethtool_ops);
    + dev->watchdog_timeo = ETH_TX_TIMEOUT;
    +
    + err = register_netdev(dev);
    + if (err != 0) {
    printk(KERN_ERR "%s: Cannot register net device, error %d\n",
    DRV_NAME, err);
    free_netdev(dev);
    @@ -1207,12 +1214,6 @@ static struct net_device * au1000_probe(
    aup->tx_db_inuse[i] = pDB;
    }

    - dev->base_addr = base;
    - dev->irq = irq;
    - dev->netdev_ops = &au1000_netdev_ops;
    - SET_ETHTOOL_OPS(dev, &au1000_ethtool_ops);
    - dev->watchdog_timeo = ETH_TX_TIMEOUT;
    -
    /*
    * The boot code uses the ethernet controller, so reset it to start
    * fresh. au1000_init() expects that the device is in reset state.



    \
     
     \ /
      Last update: 2009-12-17 02:25    [W:0.021 / U:1.044 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site