diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c index 2b8848b6df2b..ee75737202dc 100644 --- a/sound/soc/amd/acp-pcm-dma.c +++ b/sound/soc/amd/acp-pcm-dma.c @@ -691,12 +691,10 @@ static irqreturn_t dma_irq_handler(int irq, void *arg) { u16 dscr_idx; u32 intr_flag, ext_intr_status; - struct audio_drv_data *irq_data; + struct audio_drv_data *irq_data = arg; void __iomem *acp_mmio; - struct device *dev = arg; bool valid_irq = false; - irq_data = dev_get_drvdata(dev); acp_mmio = irq_data->acp_mmio; ext_intr_status = acp_reg_read(acp_mmio, mmACP_EXTERNAL_INTR_STAT); @@ -1294,7 +1292,7 @@ static int acp_audio_probe(struct platform_device *pdev) return irq; status = devm_request_irq(&pdev->dev, irq, dma_irq_handler, - 0, "ACP_IRQ", &pdev->dev); + 0, "ACP_IRQ", audio_drv_data); if (status) { dev_err(&pdev->dev, "ACP IRQ request failed\n"); return status;