From patchwork Tue Nov 6 03:33:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jia-Ju Bai X-Patchwork-Id: 10669535 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B9AEE15E9 for ; Tue, 6 Nov 2018 03:33:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AA6FC2A134 for ; Tue, 6 Nov 2018 03:33:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9E6AC2A13C; Tue, 6 Nov 2018 03:33:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 43F0F2A134 for ; Tue, 6 Nov 2018 03:33:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727481AbeKFM5A (ORCPT ); Tue, 6 Nov 2018 07:57:00 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:45904 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727049AbeKFM5A (ORCPT ); Tue, 6 Nov 2018 07:57:00 -0500 Received: by mail-pl1-f195.google.com with SMTP id o19-v6so5466564pll.12; Mon, 05 Nov 2018 19:33:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=/B9c0Siz2cQq+Qlpwp7SPzLyhwUuiU2x/Fb4412Cyko=; b=WRG6yWX5Z/OUR89dfsuuY11uJL+1J+ZsaI6bwkea2MrBNZeZwDH7T7CXcrob8AltTZ aTl9/kl1CdUUizyXYGp4WpwLRPZYQTHR1sJRrJBQfXw2TUBK9Y2FYt/faourJbLn/don fK2uHt39gPKX+UagJaOqq0DnKkOBRP4ZnHaIUi/pYlAddYU73bqkgGRq/n4HfOegnedu BufAGn3F8HzLACayRyNU+D+8IfAyToMr+XWbk8X4BX2jsQnfmdeRAmQMAxm/a29ALUQk 2fiWSUO+Zqy1lpq1R8uNyw4zsxwRycz/3T/tMu81LEgacb83BdaoSw3Tx/e7m4p1yPL3 YN9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=/B9c0Siz2cQq+Qlpwp7SPzLyhwUuiU2x/Fb4412Cyko=; b=ZLCoM3vsA/19R7UsgSTCSLLCd3bEVGxhgKi6g6eqZnZ5amQbqbNtzY/5Gi73So8CxC haqW5GGA0O6DHdeswpM+SaUsyWqNVdMXY/FVEaS5Xta59SAYU2WMuNtMUbNUJ4PJUEjp Xa9CitLXBAIM01Cmh6nM3cX4L3H9KymP/JxDQ6RWzRwWpoGi2gDHshYZQvTRCwImLegH JBwYLXQl93aBfFJz0fKiKjTU139v2DbO+wzNrSQfYmYpnWqz8LHKJGvwQjs+Li8AGS8r MdWuzYabIHQCUUSyR35TtauK1YraAcW/ZRE2iByeOcIhwsh5Es6NdBcTFCLec1j9XiBY RmRg== X-Gm-Message-State: AGRZ1gK/eDvDh0/04LGfnVvcx4x0/HD34bbTb9hW1Q1QJHdPoaHf6cCi ZACWJ0vm+uSCt/c00/PzIYw= X-Google-Smtp-Source: AJdET5c8NM7ilNUKMZtcj9QYMf9VpwIJxA+CAomEca2+tNR2zo38H+oCG7vQv1JoxwNsSXg21OdCxQ== X-Received: by 2002:a17:902:b789:: with SMTP id e9-v6mr4823856pls.338.1541475236274; Mon, 05 Nov 2018 19:33:56 -0800 (PST) Received: from localhost.localdomain ([2402:f000:1:4414:1815:546f:dfdc:5850]) by smtp.gmail.com with ESMTPSA id i88-v6sm40639651pfi.66.2018.11.05.19.33.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Nov 2018 19:33:55 -0800 (PST) From: Jia-Ju Bai To: linus.walleij@linaro.org, vkoul@kernel.org, dan.j.williams@intel.com Cc: linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Jia-Ju Bai Subject: [PATCH] dma: coh901318: Fix a double-lock bug Date: Tue, 6 Nov 2018 11:33:48 +0800 Message-Id: <20181106033348.27361-1-baijiaju1990@gmail.com> X-Mailer: git-send-email 2.17.0 Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The function coh901318_alloc_chan_resources() calls spin_lock_irqsave() before calling coh901318_config(). But coh901318_config() calls spin_lock_irqsave() again in its definition, which may cause a double-lock bug. Because coh901318_config() is only called by coh901318_alloc_chan_resources(), the bug fix is to remove the calls to spin-lock and -unlock functions in coh901318_config(). Signed-off-by: Jia-Ju Bai Reviewed-by: Linus Walleij --- drivers/dma/coh901318.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c index eebaba3d9e78..fd862a478738 100644 --- a/drivers/dma/coh901318.c +++ b/drivers/dma/coh901318.c @@ -1807,8 +1807,6 @@ static int coh901318_config(struct coh901318_chan *cohc, int channel = cohc->id; void __iomem *virtbase = cohc->base->virtbase; - spin_lock_irqsave(&cohc->lock, flags); - if (param) p = param; else @@ -1828,8 +1826,6 @@ static int coh901318_config(struct coh901318_chan *cohc, coh901318_set_conf(cohc, p->config); coh901318_set_ctrl(cohc, p->ctrl_lli_last); - spin_unlock_irqrestore(&cohc->lock, flags); - return 0; }