diff options
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index fc3a851357fc..c0cd3ce56e9f 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -2172,8 +2172,18 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
2172 | if (tsk) | 2172 | if (tsk) |
2173 | kthread_stop(tsk); | 2173 | kthread_stop(tsk); |
2174 | } | 2174 | } |
2175 | } else | 2175 | } else { |
2176 | cFYI(1, ("No session or bad tcon")); | 2176 | cFYI(1, ("No session or bad tcon")); |
2177 | if ((pSesInfo->server) && | ||
2178 | (pSesInfo->server->tsk)) { | ||
2179 | struct task_struct *tsk; | ||
2180 | force_sig(SIGKILL, | ||
2181 | pSesInfo->server->tsk); | ||
2182 | tsk = pSesInfo->server->tsk; | ||
2183 | if (tsk) | ||
2184 | kthread_stop(tsk); | ||
2185 | } | ||
2186 | } | ||
2177 | sesInfoFree(pSesInfo); | 2187 | sesInfoFree(pSesInfo); |
2178 | /* pSesInfo = NULL; */ | 2188 | /* pSesInfo = NULL; */ |
2179 | } | 2189 | } |