Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee313528 authored by Richard Kennedy's avatar Richard Kennedy Committed by Greg Kroah-Hartman
Browse files

Staging: wlan-ng: p80211netdev.c fix netdev alloc to prevent oops on device start



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: default avatarRichard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 56afef56
Loading
Loading
Loading
Loading
+4 −12
Original line number Original line Diff line number Diff line
@@ -814,13 +814,11 @@ int wlan_setup(wlandevice_t *wlandev)
		     (unsigned long)wlandev);
		     (unsigned long)wlandev);


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


	DBFENTER;
	DBFENTER;


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

	strcpy(wlandev->name, dev->name);


	DBFEXIT;
	DBFEXIT;
	return 0;
	return 0;