@@ -325,7 +325,7 @@ cifs_abort_connection(struct TCP_Server_Info *server)
325325 cifs_dbg (FYI , "%s: moving mids to private list\n" , __func__ );
326326 spin_lock (& server -> mid_queue_lock );
327327 list_for_each_entry_safe (mid , nmid , & server -> pending_mid_q , qhead ) {
328- kref_get ( & mid -> refcount );
328+ smb_get_mid ( mid );
329329 if (mid -> mid_state == MID_REQUEST_SUBMITTED )
330330 mid -> mid_state = MID_RETRY_NEEDED ;
331331 list_move (& mid -> qhead , & retry_list );
@@ -337,8 +337,8 @@ cifs_abort_connection(struct TCP_Server_Info *server)
337337 cifs_dbg (FYI , "%s: issuing mid callbacks\n" , __func__ );
338338 list_for_each_entry_safe (mid , nmid , & retry_list , qhead ) {
339339 list_del_init (& mid -> qhead );
340- mid_execute_callback (mid );
341- release_mid (mid );
340+ mid_execute_callback (server , mid );
341+ release_mid (server , mid );
342342 }
343343}
344344
@@ -882,7 +882,7 @@ is_smb_response(struct TCP_Server_Info *server, unsigned char type)
882882 */
883883 spin_lock (& server -> mid_queue_lock );
884884 list_for_each_entry_safe (mid , nmid , & server -> pending_mid_q , qhead ) {
885- kref_get ( & mid -> refcount );
885+ smb_get_mid ( mid );
886886 list_move (& mid -> qhead , & dispose_list );
887887 mid -> deleted_from_q = true;
888888 }
@@ -915,8 +915,8 @@ is_smb_response(struct TCP_Server_Info *server, unsigned char type)
915915 list_del_init (& mid -> qhead );
916916 mid -> mid_rc = mid_rc ;
917917 mid -> mid_state = MID_RC ;
918- mid_execute_callback (mid );
919- release_mid (mid );
918+ mid_execute_callback (server , mid );
919+ release_mid (server , mid );
920920 }
921921
922922 /*
@@ -948,12 +948,12 @@ is_smb_response(struct TCP_Server_Info *server, unsigned char type)
948948}
949949
950950void
951- dequeue_mid (struct mid_q_entry * mid , bool malformed )
951+ dequeue_mid (struct TCP_Server_Info * server , struct mid_q_entry * mid , bool malformed )
952952{
953953#ifdef CONFIG_CIFS_STATS2
954954 mid -> when_received = jiffies ;
955955#endif
956- spin_lock (& mid -> server -> mid_queue_lock );
956+ spin_lock (& server -> mid_queue_lock );
957957 if (!malformed )
958958 mid -> mid_state = MID_RESPONSE_RECEIVED ;
959959 else
@@ -963,12 +963,12 @@ dequeue_mid(struct mid_q_entry *mid, bool malformed)
963963 * function has finished processing it is a bug.
964964 */
965965 if (mid -> deleted_from_q == true) {
966- spin_unlock (& mid -> server -> mid_queue_lock );
966+ spin_unlock (& server -> mid_queue_lock );
967967 pr_warn_once ("trying to dequeue a deleted mid\n" );
968968 } else {
969969 list_del_init (& mid -> qhead );
970970 mid -> deleted_from_q = true;
971- spin_unlock (& mid -> server -> mid_queue_lock );
971+ spin_unlock (& server -> mid_queue_lock );
972972 }
973973}
974974
@@ -1004,7 +1004,7 @@ handle_mid(struct mid_q_entry *mid, struct TCP_Server_Info *server,
10041004 else
10051005 server -> smallbuf = NULL ;
10061006 }
1007- dequeue_mid (mid , malformed );
1007+ dequeue_mid (server , mid , malformed );
10081008}
10091009
10101010int
@@ -1101,7 +1101,7 @@ clean_demultiplex_info(struct TCP_Server_Info *server)
11011101 list_for_each_safe (tmp , tmp2 , & server -> pending_mid_q ) {
11021102 mid_entry = list_entry (tmp , struct mid_q_entry , qhead );
11031103 cifs_dbg (FYI , "Clearing mid %llu\n" , mid_entry -> mid );
1104- kref_get ( & mid_entry -> refcount );
1104+ smb_get_mid ( mid_entry );
11051105 mid_entry -> mid_state = MID_SHUTDOWN ;
11061106 list_move (& mid_entry -> qhead , & dispose_list );
11071107 mid_entry -> deleted_from_q = true;
@@ -1113,8 +1113,8 @@ clean_demultiplex_info(struct TCP_Server_Info *server)
11131113 mid_entry = list_entry (tmp , struct mid_q_entry , qhead );
11141114 cifs_dbg (FYI , "Callback mid %llu\n" , mid_entry -> mid );
11151115 list_del_init (& mid_entry -> qhead );
1116- mid_execute_callback (mid_entry );
1117- release_mid (mid_entry );
1116+ mid_execute_callback (server , mid_entry );
1117+ release_mid (server , mid_entry );
11181118 }
11191119 /* 1/8th of sec is more than enough time for them to exit */
11201120 msleep (125 );
@@ -1355,7 +1355,7 @@ cifs_demultiplex_thread(void *p)
13551355 if (length < 0 ) {
13561356 for (i = 0 ; i < num_mids ; i ++ )
13571357 if (mids [i ])
1358- release_mid (mids [i ]);
1358+ release_mid (server , mids [i ]);
13591359 continue ;
13601360 }
13611361
@@ -1388,9 +1388,9 @@ cifs_demultiplex_thread(void *p)
13881388 }
13891389
13901390 if (!mids [i ]-> multiRsp || mids [i ]-> multiEnd )
1391- mid_execute_callback (mids [i ]);
1391+ mid_execute_callback (server , mids [i ]);
13921392
1393- release_mid (mids [i ]);
1393+ release_mid (server , mids [i ]);
13941394 } else if (server -> ops -> is_oplock_break &&
13951395 server -> ops -> is_oplock_break (bufs [i ],
13961396 server )) {
0 commit comments