| .. | .. |
|---|
| 4859 | 4859 | return -ENODEV; |
|---|
| 4860 | 4860 | |
|---|
| 4861 | 4861 | getDFSRetry: |
|---|
| 4862 | | - rc = smb_init(SMB_COM_TRANSACTION2, 15, ses->tcon_ipc, (void **) &pSMB, |
|---|
| 4863 | | - (void **) &pSMBr); |
|---|
| 4862 | + /* |
|---|
| 4863 | + * Use smb_init_no_reconnect() instead of smb_init() as |
|---|
| 4864 | + * CIFSGetDFSRefer() may be called from cifs_reconnect_tcon() and thus |
|---|
| 4865 | + * causing an infinite recursion. |
|---|
| 4866 | + */ |
|---|
| 4867 | + rc = smb_init_no_reconnect(SMB_COM_TRANSACTION2, 15, ses->tcon_ipc, |
|---|
| 4868 | + (void **)&pSMB, (void **)&pSMBr); |
|---|
| 4864 | 4869 | if (rc) |
|---|
| 4865 | 4870 | return rc; |
|---|
| 4866 | 4871 | |
|---|