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>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Johannes Berg 2008-10-08 10:23:48 +02:00 committed by John W. Linville
parent c74e90a9e3
commit 33c0360bf7

View file

@ -184,7 +184,8 @@ int cfg80211_dev_rename(struct cfg80211_registered_device *rdev,
if (result) if (result)
goto out_unlock; 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,
rdev->wiphy.debugfsdir->d_parent, rdev->wiphy.debugfsdir->d_parent,
newname)) newname))
@ -317,6 +318,8 @@ int wiphy_register(struct wiphy *wiphy)
drv->wiphy.debugfsdir = drv->wiphy.debugfsdir =
debugfs_create_dir(wiphy_name(&drv->wiphy), debugfs_create_dir(wiphy_name(&drv->wiphy),
ieee80211_debugfs_dir); ieee80211_debugfs_dir);
if (IS_ERR(drv->wiphy.debugfsdir))
drv->wiphy.debugfsdir = NULL;
res = 0; res = 0;
out_unlock: out_unlock: