lkml.org 
[lkml]   [2008]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 1/8] p80211netdev.c fix netdev alloc to prevent oops on device start
    From
    Date
    a version of this patch is in the wlan-ng_devel tree

    initializes netdev correctly to prevent an oops on device start.

    Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
    ---
    drivers/staging/wlan-ng/p80211netdev.c | 16 ++++------------
    1 files changed, 4 insertions(+), 12 deletions(-)

    diff --git a/drivers/staging/wlan-ng/p80211netdev.c b/drivers/staging/wlan-ng/p80211netdev.c
    index d229780..cc9cd4c 100644
    --- a/drivers/staging/wlan-ng/p80211netdev.c
    +++ b/drivers/staging/wlan-ng/p80211netdev.c
    @@ -845,13 +845,11 @@ int wlan_setup(wlandevice_t *wlandev)
    (unsigned long)wlandev);

    /* Allocate and initialize the struct device */
    - dev = kmalloc(sizeof(netdevice_t), GFP_ATOMIC);
    + dev = alloc_netdev(0,"wlan%d",ether_setup);
    if ( dev == NULL ) {
    WLAN_LOG_ERROR("Failed to alloc netdev.\n");
    result = 1;
    } else {
    - memset( dev, 0, sizeof(netdevice_t));
    - ether_setup(dev);
    wlandev->netdev = dev;
    dev->priv = wlandev;
    dev->hard_start_xmit = p80211knetdev_hard_start_xmit;
    @@ -960,15 +958,9 @@ int register_wlandev(wlandevice_t *wlandev)

    DBFENTER;

    - i = dev_alloc_name(wlandev->netdev, "wlan%d");
    - if (i >= 0) {
    - i = register_netdev(wlandev->netdev);
    - }
    - if (i != 0) {
    - return -EIO;
    - }
    -
    - strcpy(wlandev->name, dev->name);
    + i = register_netdev(wlandev->netdev);
    + if (i)
    + return i;

    DBFEXIT;
    return 0;
    --
    1.5.6.5




    \
     
     \ /
      Last update: 2008-11-03 12:17    [W:0.022 / U:267.832 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site