Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp225466imu; Tue, 27 Nov 2018 11:25:32 -0800 (PST) X-Google-Smtp-Source: AFSGD/UcdUy6PPv3a0GgPprqj54IQu2kw5qDhHtCqfOBDAiSQwgyscVYS9tVcggUDpvNSnxBRSHB X-Received: by 2002:a17:902:20c8:: with SMTP id v8mr15058225plg.319.1543346732250; Tue, 27 Nov 2018 11:25:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543346732; cv=none; d=google.com; s=arc-20160816; b=NXq9cfmqo+OKZor+Twr/GDeoXRL/ZqB7pngddFEJT60/UFm+kuqzYWaNKk25S8sYws 0wuSw2DUcl2mZS9MgwY9zVKlPRDvm1xjKyLSW9CDPqsB0vqfCMxWTuKaz5dLAajiOTom FTE1/2rU3jNJJ2FRObpruGaCP1ZL5HsYwlEOoheD9DvjTZPPFCh6Bz1CobmM8jgsL/SA VyfRdBP/d2WSxFQuJfBjNHy66w1ilC9hI8mbDXF+A4+IfJrDe3LEbt8N3E32SCCOXUuX vMtIEBOyM1krCQzDU1YOg4iO0z3IT61pt6g2t/dDh9hm31Z+28574SKus0J5gMnd8ZGV gYWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=d4NbTJWphuMJdohuzHDZOP0oH/Mu3HlA/pO53KFZRbc=; b=S+Ax+SgaKjuXDCWQ9WL/7NjJ0jZuGq7cKohmxjJH3jKWYcl9nOCGO3d4DPJZET7wHP 8h7/OF9U43yixqAOEuLbFoEgaEk5N9XbgLickflv26miX3CXYBMFSzD4S+1qeZUK4H/D FgrlGtw7bpY5I8gsricc5wp/NLBZYOGLIyzeXUg7rV9cOfuqDVDTIIqm/d2y4CrQOwqF ubcgBCnRk2lRg5XvIxA4JpG8CtUit6HPttku/xVol4ABZw06j35igm0qlTSfU/iT8Xaz UTMB+2bUiQ/QE202X+8ynqpXOhZwidg2F+DUfXFDyGF1U+XqkzMY5BUGSKF1Zb8cL8UV g8ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Nt7lbEA5; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c5si4415183pgq.434.2018.11.27.11.25.17; Tue, 27 Nov 2018 11:25:32 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Nt7lbEA5; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730575AbeK1DFq (ORCPT + 99 others); Tue, 27 Nov 2018 22:05:46 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:51323 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729891AbeK1DFq (ORCPT ); Tue, 27 Nov 2018 22:05:46 -0500 Received: by mail-wm1-f68.google.com with SMTP id j207so15323437wmj.1; Tue, 27 Nov 2018 08:07:22 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=d4NbTJWphuMJdohuzHDZOP0oH/Mu3HlA/pO53KFZRbc=; b=Nt7lbEA5p85p/aXpYA5/1MwnCfjsGhSFfpejmsYFLmJ6RBk50MfYqKJZ7e+nuQuQVK ceFq1Ct+Nssocpo5mVQZt2vG7pEeEf2cni33sHUATatmdM41SQxgKXiW9ofnh3dSWau8 WAGaYNa1aOsmIsF4EIS8+R+FQD47tvnu4ffI16F00eFFwykqtWWZAkPcjbWyHjUnuWL5 BmsMdCqpFaGaUrEsTu8jZUHbgGgC7HlAwWWQcXJ7Fcc+o2dYadHJJroqaBaFzpoHabiT Qi3wYbgyspzl1TDvBaQCT65T47gW1e1F2gnlD3GyQR9coG+q/zYPYg0tY5lU+acrp7ji viWg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=d4NbTJWphuMJdohuzHDZOP0oH/Mu3HlA/pO53KFZRbc=; b=ABE549JrUIf01v8lvfjjYI/9hJFGx/UoLlWcJumcns75dgOjxD434RDfTvx4HRjnLJ YdvWF+xBN/qYDPz3CNWF3FO0V6CFb1sBJS7eKQQGwhBrsrUEMMamu8GlpiB+H+Cc3f3L eaWJQ4loGD4IrJ8a3fPyOv3mODpzwv6pOIq60AxCmh2SXJXqZkhinW8vTWC9BSRwOUkO 7JCabnVodtsQWvzz0MvnDI7XPnBSIZrxblIZpw9RGdnKsXIrD5OZu/eKeQc5d+uI+o2h b/M+agdq0dJ6Pd1E8fmpRpWNvWmrqQijVyMCdaxCKtdzgGWok/LmxEloyHZpAti9g62I 2hwA== X-Gm-Message-State: AA+aEWYth3wBYsT+gamC+L5XCYKt4Ia4NmWzj1uuy/cgecvo3obaF6NV W/HZ5bpfbQ98pEOI8nj7Qjs= X-Received: by 2002:a1c:7011:: with SMTP id l17mr2667096wmc.34.1543334842142; Tue, 27 Nov 2018 08:07:22 -0800 (PST) Received: from localhost ([46.227.18.67]) by smtp.gmail.com with ESMTPSA id b18sm3014766wrw.83.2018.11.27.08.07.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Nov 2018 08:07:21 -0800 (PST) From: Richard Genoud To: Ludovic Desroches , Dan Williams , Vinod Koul Cc: Alexandre Belloni , Nicolas Ferre , Maxime Ripard , Mario Forner , linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, Richard Genoud , stable@vger.kernel.org Subject: [PATCH] dmaengine: at_hdmac: fix module unloading Date: Tue, 27 Nov 2018 17:06:35 +0100 Message-Id: <20181127160635.11836-2-richard.genoud@gmail.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181127160635.11836-1-richard.genoud@gmail.com> References: <20181127160635.11836-1-richard.genoud@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org of_dma_controller_free() was not called on module onloading. This lead to a soft lockup: watchdog: BUG: soft lockup - CPU#0 stuck for 23s! Modules linked in: at_hdmac [last unloaded: at_hdmac] when of_dma_request_slave_channel() tried to call ofdma->of_dma_xlate(). Cc: stable@vger.kernel.org Fixes: bbe89c8e3d59 ("at_hdmac: move to generic DMA binding") Signed-off-by: Richard Genoud --- drivers/dma/at_hdmac.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 1b7f0ca0d5cd..01d936c9fe89 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -2006,6 +2006,8 @@ static int at_dma_remove(struct platform_device *pdev) struct resource *io; at_dma_off(atdma); + if (pdev->dev.of_node) + of_dma_controller_free(pdev->dev.of_node); dma_async_device_unregister(&atdma->dma_common); dma_pool_destroy(atdma->memset_pool);