debugfs: Return error during {full/open}_proxy_open() on rmmod
[linux-2.6-microblaze.git] / fs / debugfs / file.c
index df00231..7d162b0 100644 (file)
@@ -179,8 +179,10 @@ static int open_proxy_open(struct inode *inode, struct file *filp)
        if (!fops_get(real_fops)) {
 #ifdef CONFIG_MODULES
                if (real_fops->owner &&
-                   real_fops->owner->state == MODULE_STATE_GOING)
+                   real_fops->owner->state == MODULE_STATE_GOING) {
+                       r = -ENXIO;
                        goto out;
+               }
 #endif
 
                /* Huh? Module did not clean up after itself at exit? */
@@ -314,8 +316,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp)
        if (!fops_get(real_fops)) {
 #ifdef CONFIG_MODULES
                if (real_fops->owner &&
-                   real_fops->owner->state == MODULE_STATE_GOING)
+                   real_fops->owner->state == MODULE_STATE_GOING) {
+                       r = -ENXIO;
                        goto out;
+               }
 #endif
 
                /* Huh? Module did not cleanup after itself at exit? */