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 @@ -1544,6 +1544,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
15441544	u32  cmd_pos ;
15451545	const  u8  * cmddata [IWL_MAX_CMD_TBS_PER_TFD ];
15461546	u16  cmdlen [IWL_MAX_CMD_TBS_PER_TFD ];
1547+ 	unsigned long  flags2 ;
15471548
15481549	if  (WARN (!trans -> wide_cmd_header  && 
15491550		 group_id  >  IWL_ALWAYS_LONG_GROUP ,
@@ -1627,10 +1628,10 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
16271628		goto free_dup_buf ;
16281629	}
16291630
1630- 	spin_lock_bh (& txq -> lock );
1631+ 	spin_lock_irqsave (& txq -> lock ,  flags2 );
16311632
16321633	if  (iwl_queue_space (trans , txq ) <  ((cmd -> flags  &  CMD_ASYNC ) ? 2  : 1 )) {
1633- 		spin_unlock_bh (& txq -> lock );
1634+ 		spin_unlock_irqrestore (& txq -> lock ,  flags2 );
16341635
16351636		IWL_ERR (trans , "No space in command queue\n" );
16361637		iwl_op_mode_cmd_queue_full (trans -> op_mode );
@@ -1791,7 +1792,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
17911792	spin_unlock_irqrestore (& trans_pcie -> reg_lock , flags );
17921793
17931794 out :
1794- 	spin_unlock_bh (& txq -> lock );
1795+ 	spin_unlock_irqrestore (& txq -> lock ,  flags2 );
17951796 free_dup_buf :
17961797	if  (idx  <  0 )
17971798		kfree (dup_buf );
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments