aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/417-cfg80211-fix-rename.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/417-cfg80211-fix-rename.patch')
-rw-r--r--package/mac80211/patches/417-cfg80211-fix-rename.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/package/mac80211/patches/417-cfg80211-fix-rename.patch b/package/mac80211/patches/417-cfg80211-fix-rename.patch
new file mode 100644
index 0000000000..3cfab61325
--- /dev/null
+++ b/package/mac80211/patches/417-cfg80211-fix-rename.patch
@@ -0,0 +1,32 @@
+Subject: cfg80211: fix debugfs error handling
+
+If something goes wrong creating the debugfs dir or when
+debugfs is not compiled in, the current code might lead to
+trouble; make it more robust.
+
+Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
+---
+ net/wireless/core.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- everything.orig/net/wireless/core.c 2008-10-08 10:13:49.000000000 +0200
++++ everything/net/wireless/core.c 2008-10-08 10:19:10.000000000 +0200
+@@ -185,7 +185,8 @@ int cfg80211_dev_rename(struct cfg80211_
+ if (result)
+ goto out_unlock;
+
+- if (!debugfs_rename(rdev->wiphy.debugfsdir->d_parent,
++ if (rdev->wiphy.debugfsdir &&
++ !debugfs_rename(rdev->wiphy.debugfsdir->d_parent,
+ rdev->wiphy.debugfsdir,
+ rdev->wiphy.debugfsdir->d_parent,
+ newname))
+@@ -318,6 +319,8 @@ int wiphy_register(struct wiphy *wiphy)
+ drv->wiphy.debugfsdir =
+ debugfs_create_dir(wiphy_name(&drv->wiphy),
+ ieee80211_debugfs_dir);
++ if (IS_ERR(drv->wiphy.debugfsdir))
++ drv->wiphy.debugfsdir = NULL;
+
+ res = 0;
+ out_unlock: