wl1251: disable power saving in monitor mode
[linux-drm-fsl-dcu.git] / fs / cifs / connect.c
index 62a55147400a50adcf4c7a37756add3cc5410325..8813ff776ba3a988e2773147f86406e5013d9047 100644 (file)
@@ -3770,6 +3770,13 @@ CIFSTCon(const unsigned int xid, struct cifs_ses *ses,
        return rc;
 }
 
+static void delayed_free(struct rcu_head *p)
+{
+       struct cifs_sb_info *sbi = container_of(p, struct cifs_sb_info, rcu);
+       unload_nls(sbi->local_nls);
+       kfree(sbi);
+}
+
 void
 cifs_umount(struct cifs_sb_info *cifs_sb)
 {
@@ -3794,8 +3801,7 @@ cifs_umount(struct cifs_sb_info *cifs_sb)
 
        bdi_destroy(&cifs_sb->bdi);
        kfree(cifs_sb->mountdata);
-       unload_nls(cifs_sb->local_nls);
-       kfree(cifs_sb);
+       call_rcu(&cifs_sb->rcu, delayed_free);
 }
 
 int