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 --- 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: