Received: by 10.223.164.221 with SMTP id h29csp3915296wrb; Thu, 19 Oct 2017 06:12:19 -0700 (PDT) X-Google-Smtp-Source: ABhQp+TzuHEVKxfYckeVK4jEkH5+uORo2RyF9dDA9OyzXHzKJp45wra0MwY5B4e+PxVlkjzPHdf7 X-Received: by 10.98.139.132 with SMTP id e4mr1517733pfl.172.1508418739754; Thu, 19 Oct 2017 06:12:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508418739; cv=none; d=google.com; s=arc-20160816; b=wBuXGCP3oVQ8KxZmhlCnW9LtxGqEM5c17bjXbs6RPeuK9Yp4NsuJoHIJfC0NIh4hh6 umHIMzyUNpeh6MWUK5cBWfJtTLqXcqDDN9S+UBvjoA4Xtm8nx/20KYwVNPIr4fjQB3R/ J5SGb0s1+LXysqDbBKE6rwBomkCojiA6iFeUG+vRZfF/BSB87iqVpzVZFVtBqmnFLcE0 x3Ut4VDwcjiPHQYhovNs4bqMyEYDmK6CMj34hrz2IVQCSz1RWlWFG5RZmpViVez9fnjW GdD+1t1tbjVi5dOxRP00mf9R13fdxdXVn6ZdNANxeywMhK7fOA/8z8pzXwyKZGYzUS95 qjvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=uGchehyflu1LHgPZtKK++4Qn/cPzAsaU4CM3KS3dtP0=; b=n83JqQEjxlf2tGq2NzRtxhtKeL4q8y+y8se3KclSsZsCvj1h+rPDDYw92MYekt6GWj qFB0aFXdJVT01Apbx5lkYOHwvre3HAofPv5Gli8L0jEGM59dpLavfyBMCq1d0nnIhPjq TLxExB85MCgtEKTi3ZtxALbGs7jnykzAzPwvmNCzKzs16JlNDFTnA1rKXIBZpnfl1vjU NiUkhnE4n0bhmU6vPpMqUgUwIwtczwq5PYYqubOQviYHq2zsSZu00MD0Axa1McW55VBS iKkAJsIMnM+OOR8gVvfcB4wYZdKB6/EwQXUV3WKVXpF4eB++UHDHArIKodB+Iojkz1vW wSKw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e4si8611835pgn.134.2017.10.19.06.12.05; Thu, 19 Oct 2017 06:12:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753511AbdJSNHj (ORCPT + 99 others); Thu, 19 Oct 2017 09:07:39 -0400 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:14339 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752023AbdJSNHf (ORCPT ); Thu, 19 Oct 2017 09:07:35 -0400 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v9JCwdGq012182; Thu, 19 Oct 2017 15:03:33 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2dpnktk0cc-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 19 Oct 2017 15:03:33 +0200 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id CF99D31; Thu, 19 Oct 2017 13:03:32 +0000 (GMT) Received: from Webmail-eu.st.com (Safex1hubcas22.st.com [10.75.90.92]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id AE94A26AB; Thu, 19 Oct 2017 13:03:32 +0000 (GMT) Received: from SAFEX1HUBCAS21.st.com (10.75.90.44) by Safex1hubcas22.st.com (10.75.90.92) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 19 Oct 2017 15:03:32 +0200 Received: from localhost (10.201.23.16) by Webmail-ga.st.com (10.75.90.48) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 19 Oct 2017 15:03:32 +0200 From: Olivier Moysan To: , , , , , , , , , , , , , CC: , Subject: [INTERNAL][PATCH 4/7] ASoC: stm32: sai: fix stop management in isr Date: Thu, 19 Oct 2017 15:03:20 +0200 Message-ID: <1508418203-16840-5-git-send-email-olivier.moysan@st.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1508418203-16840-1-git-send-email-olivier.moysan@st.com> References: <1508418203-16840-1-git-send-email-olivier.moysan@st.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.201.23.16] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-10-19_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add check on substream validity. Signed-off-by: Olivier Moysan --- sound/soc/stm/stm32_sai_sub.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sound/soc/stm/stm32_sai_sub.c b/sound/soc/stm/stm32_sai_sub.c index 2af397d..815ef10 100644 --- a/sound/soc/stm/stm32_sai_sub.c +++ b/sound/soc/stm/stm32_sai_sub.c @@ -184,7 +184,6 @@ static bool stm32_sai_sub_writeable_reg(struct device *dev, unsigned int reg) static irqreturn_t stm32_sai_isr(int irq, void *devid) { struct stm32_sai_sub_data *sai = (struct stm32_sai_sub_data *)devid; - struct snd_pcm_substream *substream = sai->substream; struct platform_device *pdev = sai->pdev; unsigned int sr, imr, flags; snd_pcm_state_t status = SNDRV_PCM_STATE_RUNNING; @@ -199,6 +198,11 @@ static irqreturn_t stm32_sai_isr(int irq, void *devid) regmap_update_bits(sai->regmap, STM_SAI_CLRFR_REGX, SAI_XCLRFR_MASK, SAI_XCLRFR_MASK); + if (!sai->substream) { + dev_err(&pdev->dev, "Device stopped. Spurious IRQ 0x%x\n", sr); + return IRQ_NONE; + } + if (flags & SAI_XIMR_OVRUDRIE) { dev_err(&pdev->dev, "IRQ %s\n", STM_SAI_IS_PLAYBACK(sai) ? "underrun" : "overrun"); @@ -227,9 +231,9 @@ static irqreturn_t stm32_sai_isr(int irq, void *devid) } if (status != SNDRV_PCM_STATE_RUNNING) { - snd_pcm_stream_lock(substream); - snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); - snd_pcm_stream_unlock(substream); + snd_pcm_stream_lock(sai->substream); + snd_pcm_stop(sai->substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock(sai->substream); } return IRQ_HANDLED; -- 1.9.1 From 1583037335684223232@xxx Fri Nov 03 09:40:48 +0000 2017 X-GM-THRID: 1581601094041780466 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread