Received: by 10.223.176.5 with SMTP id f5csp704083wra; Fri, 9 Feb 2018 05:59:40 -0800 (PST) X-Google-Smtp-Source: AH8x225HSofPcvEHYELGyu/AHuNkMmC6hDIUlBdmXWPoVwDQOUIa/tzPz1k264uFds0NrbZaxDTB X-Received: by 2002:a17:902:6b0b:: with SMTP id o11-v6mr2652609plk.109.1518184780283; Fri, 09 Feb 2018 05:59:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518184780; cv=none; d=google.com; s=arc-20160816; b=DGUUpfNQUn21GmZmu0BFSgN5Xw8PXqDO1Ta/9IO0qta+cKWe+3ZTjcpLPBfMfBjPyz K4IFI59b8WOIicdFI6ckNhIDZJJeIsXb3AYJp3fuOvGqSRfgrlvfqHdOfQlAaDuH1Vd/ Ilz7NjSSy91O/NbycoZCqA06pkau4LHv3hKHn1nZx9PUUu6hI6CKPqWcTik8Ht24DsC5 uTgUj7uo7quxEtAoLGUjykjpgq4QJ5OnvYMKOyc7ZyR6rfLKqXt/05iotZTbBRhz4TM2 8POYlfPvbqw242MGDiu0M7u6mx3IHX0Hz0yL0aM94oIs/1SWwLhuaXoQZKzULu2MUNbh 7PYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=8dv78VmjRxHTa7oqCmwBdlSv1e6fv8RbxEcylZR2F6U=; b=PhocKQkmhv2qxkaccyLS9q4cofRXG+Z4VNGGTPunLE2YYRmjqfOiBxg1XtuMDnx+W+ OEzOYZhiFvzPLX0QVbMJxRJfhzRp5ubNinDv+6cvPzZ6cWqd6qzKbCDApmttHIPplfqS Rwj9L5GL2iSg33UwxHtgWyjCqOCfSjweNJhcI0DnvX3f6LW84NBxVDrFJxy/Vrs93BEL vTPCtH82ob5mFuoDS1flVCmfsiMAvNwlxFYXjKSK3MDpZEvfUIfVS8CENIGWszsjKEtM nnKrT/Wc0M/N8oxhN0teHV9IZ7qVqMjXKXL47vp27HOT6qyD/LIxqBaoOupnOwd6v7l5 on0Q== 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 a15si1409266pgd.21.2018.02.09.05.59.26; Fri, 09 Feb 2018 05:59:40 -0800 (PST) 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 S1753364AbeBIN6H (ORCPT + 99 others); Fri, 9 Feb 2018 08:58:07 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:51524 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753461AbeBINom (ORCPT ); Fri, 9 Feb 2018 08:44:42 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 4F34F1056; Fri, 9 Feb 2018 13:44:41 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kuninori Morimoto , Hiroyuki Yokoyama , Mark Brown , thongsyho , Nhan Nguyen Subject: [PATCH 4.9 88/92] ASoC: rsnd: dont call free_irq() on Parent SSI Date: Fri, 9 Feb 2018 14:39:57 +0100 Message-Id: <20180209133937.429631758@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180209133931.211869118@linuxfoundation.org> References: <20180209133931.211869118@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Kuninori Morimoto commit 1f8754d4daea5f257370a52a30fcb22798c54516 upstream. If SSI uses shared pin, some SSI will be used as parent SSI. Then, normal SSI's remove and Parent SSI's remove (these are same SSI) will be called when unbind or remove timing. In this case, free_irq() will be called twice. This patch solve this issue. Signed-off-by: Kuninori Morimoto Tested-by: Hiroyuki Yokoyama Reported-by: Hiroyuki Yokoyama Signed-off-by: Mark Brown Signed-off-by: thongsyho Signed-off-by: Nhan Nguyen Signed-off-by: Greg Kroah-Hartman --- sound/soc/sh/rcar/ssi.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -699,9 +699,14 @@ static int rsnd_ssi_dma_remove(struct rs struct rsnd_priv *priv) { struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); + struct rsnd_mod *ssi_parent_mod = rsnd_io_to_mod_ssip(io); struct device *dev = rsnd_priv_to_dev(priv); int irq = ssi->irq; + /* Do nothing for SSI parent mod */ + if (ssi_parent_mod == mod) + return 0; + /* PIO will request IRQ again */ devm_free_irq(dev, irq, mod);