Commit e154cb7b authored by Shyam Prasad N's avatar Shyam Prasad N Committed by Steve French
Browse files

cifs: fix the cifs_reconnect path for DFS



Recently, the cifs_reconnect code was refactored into
two branches for regular vs dfs codepath. Some of my
recent changes were missing in the dfs path, namely the
code to enable periodic DNS query, and a missing lock.

Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 8a409cda
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -338,8 +338,10 @@ static int __cifs_reconnect(struct TCP_Server_Info *server,
		}
	} while (server->tcpStatus == CifsNeedReconnect);

	spin_lock(&cifs_tcp_ses_lock);
	if (server->tcpStatus == CifsNeedNegotiate)
		mod_delayed_work(cifsiod_wq, &server->echo, 0);
	spin_unlock(&cifs_tcp_ses_lock);

	wake_up(&server->response_q);
	return rc;
@@ -454,6 +456,7 @@ reconnect_dfs_server(struct TCP_Server_Info *server,
		spin_unlock(&cifs_tcp_ses_lock);
		cifs_swn_reset_server_dstaddr(server);
		mutex_unlock(&server->srv_mutex);
		mod_delayed_work(cifsiod_wq, &server->reconnect, 0);
	} while (server->tcpStatus == CifsNeedReconnect);

	if (target_hint)