Ronnie Sahlberg <lsahlber@xxxxxxxxxx> writes: > diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c > index 565b60b62f4d..c4f3e2403b58 100644 > --- a/fs/cifs/smb2pdu.c > +++ b/fs/cifs/smb2pdu.c > @@ -3116,6 +3116,7 @@ void smb2_reconnect_server(struct work_struct *work) I would add a comment here. Something like: /* IPC has the same lifetime as its session and uses its refcount */ > if (ses->tcon_ipc && ses->tcon_ipc->need_reconnect) { > list_add_tail(&ses->tcon_ipc->rlist, &tmp_list); > tcon_exist = true; > + ses->ses_count++; > } > } > /* > @@ -3134,6 +3135,8 @@ void smb2_reconnect_server(struct work_struct *work) > else > resched = true; > list_del_init(&tcon->rlist); > + if (tcon->ipc) > + cifs_put_smb_ses(tcon->ses); > cifs_put_tcon(tcon); Since cifs_put_tcon() is a noop on IPC this looks correct but I think an putting it in an "else" would make the logic clearer. Reviewed-by: Aurelien Aptel <aaptel@xxxxxxxx> -- Aurélien Aptel / SUSE Labs Samba Team GPG: 1839 CB5F 9F5B FB9B AA97 8C99 03C8 A49B 521B D5D3 SUSE Linux GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg)