Received: by 10.213.65.68 with SMTP id h4csp235281imn; Fri, 23 Mar 2018 03:33:44 -0700 (PDT) X-Google-Smtp-Source: AG47ELsoYGRHPf/Rf4AGl2DpIqqFjUAV7nj06hszWY04NrOUJqlURBEox9fCYThXGhurEJnMJYj6 X-Received: by 10.99.184.1 with SMTP id p1mr17877168pge.96.1521801223980; Fri, 23 Mar 2018 03:33:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521801223; cv=none; d=google.com; s=arc-20160816; b=lPcmauQggdMwHOGNDwLZW7d3SQMhthz7OKzQS/3FvwGoVY03W4+WM48ceAHZy3whaw UR8l0U0Ptvlslb4Swu/Y9S2G5x9u+GM4pYKYEqI0jW8zjMkL+IJ2cuaGNgNh1/H+OIJv VpOk/y64s9WXE3HlSJ0TLyPFer3ux8mvT62knLai+xC17GZxDzkdQvO8gMDze/xcKnHe YOx03mXfvEcvdZ6iMtd9MEU4ZE9XR+1TxJAhJ+OAPOGEA7jkwZ6z9lhgOa69IzpuFa// Ec/72JhfFAUcHWoIwuJdodH7HA07vfAAwBKutZB1pVbxc5pG2Uu71yuL0DcYGe/kuB4o SuCQ== 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=NPGFki4TeSehQyqlcZQ7wF3k5/09y9xNvx/2NWZMdYs=; b=d8W81wEBaklJs0g2kDUbZwg+c7O/j83p3jqrHrslsKkn4RuosUtrKpAOX8zxqKQxsc 8g5J1p2ATqzojBxmxyV+lBYxozWmw4p3JB9viE2F8CHCgTyzK+wG3kq6e2edKxGbiDpM 0oHDnje46gUZz5Ooim+kupjiac54vAHggBZnHyHNloCyUKZAfCcgHlZ0iNE7EepB2hdS BmtO5qGhfhl/tRahs9cfwgpHPo/rC0HgB940NIHLjToAq6Yr5KYfbNqw88Qm1+etUjsN mXQ/MgO8HaewMEB9T9iJJLlHMDBM18VCC8+sYxQbcSFcvt5BdmNhpi9ox3H05wqo17Uk l1vw== 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 j7si5873594pgf.622.2018.03.23.03.33.29; Fri, 23 Mar 2018 03:33:43 -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 S1756267AbeCWKca (ORCPT + 99 others); Fri, 23 Mar 2018 06:32:30 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:47712 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756123AbeCWKSd (ORCPT ); Fri, 23 Mar 2018 06:18:33 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 77FE6F2C; Fri, 23 Mar 2018 10:18:32 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marek Vasut , Andy Shevchenko , Mark Brown , Sasha Levin Subject: [PATCH 3.18 10/47] spi: dw: Disable clock after unregistering the host Date: Fri, 23 Mar 2018 10:55:01 +0100 Message-Id: <20180323094248.559569426@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180323094248.117679641@linuxfoundation.org> References: <20180323094248.117679641@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review 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 3.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Marek Vasut [ Upstream commit 400c18e3dc86e04ef5afec9b86a8586ca629b9e9 ] The dw_mmio driver disables the block clock before unregistering the host. The code unregistering the host may access the SPI block registers. If register access happens with block clock disabled, this may lead to a bus hang. Disable the clock after unregistering the host to prevent such situation. This bug was observed on Altera Cyclone V SoC. Signed-off-by: Marek Vasut Cc: Andy Shevchenko Cc: Mark Brown Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/spi/spi-dw-mmio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/spi/spi-dw-mmio.c +++ b/drivers/spi/spi-dw-mmio.c @@ -118,8 +118,8 @@ static int dw_spi_mmio_remove(struct pla { struct dw_spi_mmio *dwsmmio = platform_get_drvdata(pdev); - clk_disable_unprepare(dwsmmio->clk); dw_spi_remove_host(&dwsmmio->dws); + clk_disable_unprepare(dwsmmio->clk); return 0; }