File tree Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -4222,7 +4222,25 @@ static void smb2_decrypt_offload(struct work_struct *work)
42224222 dw -> server -> vals -> read_rsp_size ,
42234223 dw -> ppages , dw -> npages , dw -> len ,
42244224 true);
4225- mid -> callback (mid );
4225+ if (rc >= 0 ) {
4226+ #ifdef CONFIG_CIFS_STATS2
4227+ mid -> when_received = jiffies ;
4228+ #endif
4229+ mid -> callback (mid );
4230+ } else {
4231+ spin_lock (& GlobalMid_Lock );
4232+ if (dw -> server -> tcpStatus == CifsNeedReconnect ) {
4233+ mid -> mid_state = MID_RETRY_NEEDED ;
4234+ spin_unlock (& GlobalMid_Lock );
4235+ mid -> callback (mid );
4236+ } else {
4237+ mid -> mid_state = MID_REQUEST_SUBMITTED ;
4238+ mid -> mid_flags &= ~(MID_DELETED );
4239+ list_add_tail (& mid -> qhead ,
4240+ & dw -> server -> pending_mid_q );
4241+ spin_unlock (& GlobalMid_Lock );
4242+ }
4243+ }
42264244 cifs_mid_q_entry_release (mid );
42274245 }
42284246
You can’t perform that action at this time.
0 commit comments