@@ -4018,7 +4018,8 @@ init_read_bvec(struct page **pages, unsigned int npages, unsigned int data_size,
4018
4018
static int
4019
4019
handle_read_data (struct TCP_Server_Info * server , struct mid_q_entry * mid ,
4020
4020
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 )
4022
4023
{
4023
4024
unsigned int data_offset ;
4024
4025
unsigned int data_len ;
@@ -4040,7 +4041,8 @@ handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid,
4040
4041
4041
4042
if (server -> ops -> is_session_expired &&
4042
4043
server -> ops -> is_session_expired (buf )) {
4043
- cifs_reconnect (server );
4044
+ if (!is_offloaded )
4045
+ cifs_reconnect (server );
4044
4046
wake_up (& server -> response_q );
4045
4047
return -1 ;
4046
4048
}
@@ -4181,7 +4183,8 @@ static void smb2_decrypt_offload(struct work_struct *work)
4181
4183
mid -> decrypted = true;
4182
4184
rc = handle_read_data (dw -> server , mid , dw -> buf ,
4183
4185
dw -> server -> vals -> read_rsp_size ,
4184
- dw -> ppages , dw -> npages , dw -> len );
4186
+ dw -> ppages , dw -> npages , dw -> len ,
4187
+ true);
4185
4188
mid -> callback (mid );
4186
4189
cifs_mid_q_entry_release (mid );
4187
4190
}
@@ -4285,7 +4288,7 @@ receive_encrypted_read(struct TCP_Server_Info *server, struct mid_q_entry **mid,
4285
4288
(* mid )-> decrypted = true;
4286
4289
rc = handle_read_data (server , * mid , buf ,
4287
4290
server -> vals -> read_rsp_size ,
4288
- pages , npages , len );
4291
+ pages , npages , len , false );
4289
4292
}
4290
4293
4291
4294
free_pages :
@@ -4430,7 +4433,7 @@ smb3_handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid)
4430
4433
char * buf = server -> large_buf ? server -> bigbuf : server -> smallbuf ;
4431
4434
4432
4435
return handle_read_data (server , mid , buf , server -> pdu_size ,
4433
- NULL , 0 , 0 );
4436
+ NULL , 0 , 0 , false );
4434
4437
}
4435
4438
4436
4439
static int
0 commit comments