rtl8192u: Don't need to save device proc dir PDE
authorDavid Howells <dhowells@redhat.com>
Fri, 12 Apr 2013 02:02:22 +0000 (03:02 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 1 May 2013 21:29:41 +0000 (17:29 -0400)
Don't need to save the PDE of a directory created under /proc/net/rtl8192/ as
we can use proc subtree deletion to get rid of it and all its children.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Jerry Chuang <jerry-chuang@realtek.com>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/staging/rtl8192u/r8192U.h
drivers/staging/rtl8192u/r8192U_core.c

index e538e02..bedeb33 100644 (file)
@@ -946,7 +946,6 @@ typedef struct r8192_priv {
        /*stats*/
        struct Stats stats;
        struct iw_statistics wstats;
-       struct proc_dir_entry *dir_dev;
 
        /*RX stuff*/
 //     u32 *rxring;
index d81d7d5..27ba2a3 100644 (file)
@@ -669,20 +669,19 @@ static const struct rtl8192_proc_file rtl8192_proc_files[] = {
 void rtl8192_proc_init_one(struct net_device *dev)
 {
        const struct rtl8192_proc_file *f;
-       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
+       struct proc_dir_entry *dir;
 
        if (rtl8192_proc) {
-               priv->dir_dev = proc_mkdir_data(dev->name, 0, rtl8192_proc, dev);
-               if (!priv->dir_dev) {
+               dir = proc_mkdir_data(dev->name, 0, rtl8192_proc, dev);
+               if (!dir) {
                        RT_TRACE(COMP_ERR, "Unable to initialize /proc/net/rtl8192/%s\n",
                                 dev->name);
                        return;
                }
 
                for (f = rtl8192_proc_files; f->name[0]; f++) {
-                       if (!proc_create_data(f->name, S_IFREG | S_IRUGO,
-                                             priv->dir_dev,
-                                             rtl8192_proc_fops, f->show)) {
+                       if (!proc_create_data(f->name, S_IFREG | S_IRUGO, dir,
+                                             &rtl8192_proc_fops, f->show)) {
                                RT_TRACE(COMP_ERR, "Unable to initialize "
                                         "/proc/net/rtl8192/%s/%s\n",
                                         dev->name, f->name);
@@ -694,12 +693,7 @@ void rtl8192_proc_init_one(struct net_device *dev)
 
 void rtl8192_proc_remove_one(struct net_device *dev)
 {
-       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-
-       if (priv->dir_dev) {
-               remove_proc_subtree(dev->name, rtl8192_proc);
-               priv->dir_dev = NULL;
-       }
+       remove_proc_subtree(dev->name, rtl8192_proc);
 }
 
 /****************************************************************************