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,
928
928
u32 cmd_pos ;
929
929
const u8 * cmddata [IWL_MAX_CMD_TBS_PER_TFD ];
930
930
u16 cmdlen [IWL_MAX_CMD_TBS_PER_TFD ];
931
+ unsigned long flags ;
931
932
932
933
if (WARN (!trans -> wide_cmd_header &&
933
934
group_id > IWL_ALWAYS_LONG_GROUP ,
@@ -1011,10 +1012,10 @@ int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
1011
1012
goto free_dup_buf ;
1012
1013
}
1013
1014
1014
- spin_lock_bh (& txq -> lock );
1015
+ spin_lock_irqsave (& txq -> lock , flags );
1015
1016
1016
1017
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 );
1018
1019
1019
1020
IWL_ERR (trans , "No space in command queue\n" );
1020
1021
iwl_op_mode_cmd_queue_full (trans -> op_mode );
@@ -1174,7 +1175,7 @@ int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
1174
1175
unlock_reg :
1175
1176
spin_unlock (& trans_pcie -> reg_lock );
1176
1177
out :
1177
- spin_unlock_bh (& txq -> lock );
1178
+ spin_unlock_irqrestore (& txq -> lock , flags );
1178
1179
free_dup_buf :
1179
1180
if (idx < 0 )
1180
1181
kfree (dup_buf );
You can’t perform that action at this time.
0 commit comments