target: Convert session_lock to irqsave
[firefly-linux-kernel-4.4.55.git] / drivers / target / target_core_transport.c
index 3533ad6442866f92d62a483cbeadf1a3598a55f8..d931edf11c2b231f2a0939ed4d9dc959ef36ce57 100644 (file)
@@ -252,7 +252,7 @@ struct se_session *transport_init_session(void)
 EXPORT_SYMBOL(transport_init_session);
 
 /*
- * Called with spin_lock_bh(&struct se_portal_group->session_lock called.
+ * Called with spin_lock_irqsave(&struct se_portal_group->session_lock called.
  */
 void __transport_register_session(
        struct se_portal_group *se_tpg,
@@ -305,9 +305,11 @@ void transport_register_session(
        struct se_session *se_sess,
        void *fabric_sess_ptr)
 {
-       spin_lock_bh(&se_tpg->session_lock);
+       unsigned long flags;
+
+       spin_lock_irqsave(&se_tpg->session_lock, flags);
        __transport_register_session(se_tpg, se_nacl, se_sess, fabric_sess_ptr);
-       spin_unlock_bh(&se_tpg->session_lock);
+       spin_unlock_irqrestore(&se_tpg->session_lock, flags);
 }
 EXPORT_SYMBOL(transport_register_session);