File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed
drivers/net/wireless/intel/iwlwifi/pcie Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -928,6 +928,7 @@ int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
928928 u32 cmd_pos ;
929929 const u8 * cmddata [IWL_MAX_CMD_TBS_PER_TFD ];
930930 u16 cmdlen [IWL_MAX_CMD_TBS_PER_TFD ];
931+ unsigned long flags ;
931932
932933 if (WARN (!trans -> wide_cmd_header &&
933934 group_id > IWL_ALWAYS_LONG_GROUP ,
@@ -1011,10 +1012,10 @@ int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
10111012 goto free_dup_buf ;
10121013 }
10131014
1014- spin_lock_bh (& txq -> lock );
1015+ spin_lock_irqsave (& txq -> lock , flags );
10151016
10161017 if (iwl_txq_space (trans , txq ) < ((cmd -> flags & CMD_ASYNC ) ? 2 : 1 )) {
1017- spin_unlock_bh (& txq -> lock );
1018+ spin_unlock_irqrestore (& txq -> lock , flags );
10181019
10191020 IWL_ERR (trans , "No space in command queue\n" );
10201021 iwl_op_mode_cmd_queue_full (trans -> op_mode );
@@ -1174,7 +1175,7 @@ int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
11741175 unlock_reg :
11751176 spin_unlock (& trans_pcie -> reg_lock );
11761177 out :
1177- spin_unlock_bh (& txq -> lock );
1178+ spin_unlock_irqrestore (& txq -> lock , flags );
11781179 free_dup_buf :
11791180 if (idx < 0 )
11801181 kfree (dup_buf );
You can’t perform that action at this time.
0 commit comments