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