[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#656813: cfg80211: failed to add phy80211 symlink to netdev!



On Sat, 2012-01-21 at 22:58 +0100, Cesare Leonardi wrote:
> Package: linux-2.6
> Version: 3.2.1-1
> Severity: normal
> 
> Some kernel version ago (some version before #656812), i started to see
> this message on boot:
> -----------------------
> waiting for /dev to be fully populated...[5.775083] cfg80211: failed
> to add phy80211 symlink to netdev!
> done.
> -----------------------
> 
> No apparent affect apart the message: the network seems functioning
> well.
[...]

Can you test whether the attache patch fixes this (and doesn't cause any
new problems)?  Instructions for rebuilding the kernel package are at:
http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official

Ben.

-- 
Ben Hutchings
Knowledge is power.  France is bacon.
From 8f5f91cb3ba851ddef1829c89326438ab210a6e2 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sun, 22 Jan 2012 00:55:29 +0000
Subject: [PATCH] ipw2200: Fix order of device registration

Currently cfg80211 fails to create a "phy80211" symlink in sysfs from
the net device to the wiphy device.  The latter needs to be registered
first.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/net/wireless/ipw2x00/ipw2200.c |   23 ++++++++++++-----------
 1 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
index 99a710d..6e4aec3 100644
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
@@ -11830,16 +11830,17 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
 	}
 
 	mutex_unlock(&priv->mutex);
-	err = register_netdev(net_dev);
+
+	err = ipw_wdev_init(net_dev);
 	if (err) {
-		IPW_ERROR("failed to register network device\n");
+		IPW_ERROR("failed to register wireless device\n");
 		goto out_remove_sysfs;
 	}
 
-	err = ipw_wdev_init(net_dev);
+	err = register_netdev(net_dev);
 	if (err) {
-		IPW_ERROR("failed to register wireless device\n");
-		goto out_unregister_netdev;
+		IPW_ERROR("failed to register network device\n");
+		goto out_unregister_wiphy;
 	}
 
 #ifdef CONFIG_IPW2200_PROMISCUOUS
@@ -11848,10 +11849,8 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
 		if (err) {
 			IPW_ERROR("Failed to register promiscuous network "
 				  "device (error %d).\n", err);
-			wiphy_unregister(priv->ieee->wdev.wiphy);
-			kfree(priv->ieee->a_band.channels);
-			kfree(priv->ieee->bg_band.channels);
-			goto out_unregister_netdev;
+			unregister_netdev(priv->net_dev);
+			goto out_unregister_wiphy;
 		}
 	}
 #endif
@@ -11863,8 +11862,10 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
 
 	return 0;
 
-      out_unregister_netdev:
-	unregister_netdev(priv->net_dev);
+      out_unregister_wiphy:
+	wiphy_unregister(priv->ieee->wdev.wiphy);
+	kfree(priv->ieee->a_band.channels);
+	kfree(priv->ieee->bg_band.channels);
       out_remove_sysfs:
 	sysfs_remove_group(&pdev->dev.kobj, &ipw_attribute_group);
       out_release_irq:
-- 
1.7.8.2

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: