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.124 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site