mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	ASoC: amd: ps: fix for irq handler return status
If any Soundwire manager interrupt is reported, and wake interrupt
is not reported, in this scenario irq_flag will be set to zero,
which results in interrupt handler return status as IRQ_NONE.
Add new irq flag 'wake_irq_flag' check for SoundWire wake interrupt
handling to fix incorrect irq handling return status.
Fixes: 3898b18907 ("ASoC: amd: ps: add soundwire wake interrupt handling")
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://patch.msgid.link/20250430195517.3065308-1-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									3cc393d223
								
							
						
					
					
						commit
						7f91f012c1
					
				
					 1 changed files with 3 additions and 2 deletions
				
			
		|  | @ -193,6 +193,7 @@ static irqreturn_t acp63_irq_handler(int irq, void *dev_id) | |||
| 	struct amd_sdw_manager *amd_manager; | ||||
| 	u32 ext_intr_stat, ext_intr_stat1; | ||||
| 	u16 irq_flag = 0; | ||||
| 	u16 wake_irq_flag = 0; | ||||
| 	u16 sdw_dma_irq_flag = 0; | ||||
| 
 | ||||
| 	adata = dev_id; | ||||
|  | @ -231,7 +232,7 @@ static irqreturn_t acp63_irq_handler(int irq, void *dev_id) | |||
| 	} | ||||
| 
 | ||||
| 	if (adata->acp_rev >= ACP70_PCI_REV) | ||||
| 		irq_flag = check_and_handle_acp70_sdw_wake_irq(adata); | ||||
| 		wake_irq_flag = check_and_handle_acp70_sdw_wake_irq(adata); | ||||
| 
 | ||||
| 	if (ext_intr_stat & BIT(PDM_DMA_STAT)) { | ||||
| 		ps_pdm_data = dev_get_drvdata(&adata->pdm_dev->dev); | ||||
|  | @ -245,7 +246,7 @@ static irqreturn_t acp63_irq_handler(int irq, void *dev_id) | |||
| 	if (sdw_dma_irq_flag) | ||||
| 		return IRQ_WAKE_THREAD; | ||||
| 
 | ||||
| 	if (irq_flag) | ||||
| 	if (irq_flag | wake_irq_flag) | ||||
| 		return IRQ_HANDLED; | ||||
| 	else | ||||
| 		return IRQ_NONE; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Vijendar Mukunda
						Vijendar Mukunda