This can happen if CONFIG_BCM43XX_MAC80211_DEBUG is enabled, but CONFIG_DEBUG_FS is not. Signed-off-by: Pavel Roskin <proski@xxxxxxx> --- .../wireless/bcm43xx-mac80211/bcm43xx_debugfs.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_debugfs.c b/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_debugfs.c index 9ca4625..aded2b3 100644 --- a/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_debugfs.c +++ b/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_debugfs.c @@ -408,7 +408,7 @@ static struct file_operations restart_fops = { int bcm43xx_debug(struct bcm43xx_wldev *dev, enum bcm43xx_dyndbg feature) { - return !!(dev->dfsentry->dyn_debug[feature]); + return !!(dev->dfsentry && dev->dfsentry->dyn_debug[feature]); } static void bcm43xx_remove_dynamic_debug(struct bcm43xx_wldev *dev) @@ -472,7 +472,9 @@ void bcm43xx_debugfs_add_device(struct bcm43xx_wldev *dev) snprintf(devdir, sizeof(devdir), "%s", wiphy_name(dev->wl->hw->wiphy)); e->subdir = debugfs_create_dir(devdir, fs.root); if (!e->subdir || IS_ERR(e->subdir)) { - e->subdir = NULL; + bcmerr(dev->wl, "debugfs: cannot create %s directory\n", + devdir); + dev->dfsentry = NULL; kfree(log->log); kfree(e); return; @@ -525,6 +527,8 @@ void bcm43xx_debugfs_log_txstat(struct bcm43xx_wldev *dev, struct bcm43xx_txstatus *cur; int i; + if (!e) + return; log = &e->txstatlog; assert(irqs_disabled()); spin_lock(&log->lock); - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html