@@ -4018,7 +4018,8 @@ init_read_bvec(struct page **pages, unsigned int npages, unsigned int data_size,
40184018static  int 
40194019handle_read_data (struct  TCP_Server_Info  * server , struct  mid_q_entry  * mid ,
40204020		 char  * buf , unsigned int   buf_len , struct  page  * * pages ,
4021- 		 unsigned int   npages , unsigned int   page_data_size )
4021+ 		 unsigned int   npages , unsigned int   page_data_size ,
4022+ 		 bool  is_offloaded )
40224023{
40234024	unsigned int   data_offset ;
40244025	unsigned int   data_len ;
@@ -4040,7 +4041,8 @@ handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid,
40404041
40414042	if  (server -> ops -> is_session_expired  && 
40424043	    server -> ops -> is_session_expired (buf )) {
4043- 		cifs_reconnect (server );
4044+ 		if  (!is_offloaded )
4045+ 			cifs_reconnect (server );
40444046		wake_up (& server -> response_q );
40454047		return  -1 ;
40464048	}
@@ -4181,7 +4183,8 @@ static void smb2_decrypt_offload(struct work_struct *work)
41814183		mid -> decrypted  =  true;
41824184		rc  =  handle_read_data (dw -> server , mid , dw -> buf ,
41834185				      dw -> server -> vals -> read_rsp_size ,
4184- 				      dw -> ppages , dw -> npages , dw -> len );
4186+ 				      dw -> ppages , dw -> npages , dw -> len ,
4187+ 				      true);
41854188		mid -> callback (mid );
41864189		cifs_mid_q_entry_release (mid );
41874190	}
@@ -4285,7 +4288,7 @@ receive_encrypted_read(struct TCP_Server_Info *server, struct mid_q_entry **mid,
42854288		(* mid )-> decrypted  =  true;
42864289		rc  =  handle_read_data (server , * mid , buf ,
42874290				      server -> vals -> read_rsp_size ,
4288- 				      pages , npages , len );
4291+ 				      pages , npages , len , false );
42894292	}
42904293
42914294free_pages :
@@ -4430,7 +4433,7 @@ smb3_handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid)
44304433	char  * buf  =  server -> large_buf  ? server -> bigbuf  : server -> smallbuf ;
44314434
44324435	return  handle_read_data (server , mid , buf , server -> pdu_size ,
4433- 				NULL , 0 , 0 );
4436+ 				NULL , 0 , 0 , false );
44344437}
44354438
44364439static  int 
0 commit comments