From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD84D3BF66E; Thu, 9 Apr 2026 12:05:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775736326; cv=none; b=hKKWsnVSAq1n2et1PGPgh05tv7PIlbhswfvdjDPLKvGNUyQ9hByrn8yQpLTq9N9Y64N80uBPYL0SLo0Tvcr/7AfKlVqoZ0YxlhvGE5jrCA8/njD8fujsQ7UPrbvN9STe8nMOVKfpmxWciz8lIGm1nW+3lh/k7FV3Ha01NBfZKQU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775736326; c=relaxed/simple; bh=Hkdce0DcCrLswuUsM5hL/RXlE+ofhVC6Uf3ve7+eq20=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BL52/IaeGm7+y7RYdAqd8pohkhVgU2MLJs3U/t1t3ZhIIKwhyMHWsQopRSIbAPhLFTm00d3tDyJG3o+ZQvl+bXEZRErs7PSmH3y5k7deCZ0HWmM2sOAmkNptwmJ/rheC/cgf7DP3vB+ZWcKABMKOdaOiw+uEye3orMw3utuFoOo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KDu1mYfK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KDu1mYfK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6258CC2BCC4; Thu, 9 Apr 2026 12:05:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1775736326; bh=Hkdce0DcCrLswuUsM5hL/RXlE+ofhVC6Uf3ve7+eq20=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KDu1mYfKniiWmV6WS6LON4avPhVeWD0OWmFjph406MkcpO555IIP5aaxs/NufPZrN 7bipAI0YHmHQjvhpF5W7ixD9cwgTWMFpupXE3zrGS9WeryKwY5EDw5TemTtx7A6/Vd tHuPelyJpgYLOsEQImflwe7T6b2wgV7Oz2dWMXTb8/fxqnt9KKGWynN3f4yhjBu4/U 9bmu8VlooXEs8q29Tr/tnh9G3GIo9gwALUKeqWMI2vsFhbU/GsijmZJOmgaA2tJmsD F1g3ggi2kYVtu72GmjWXTmfaXSSSihtLS4lAjQkNCmsNo+SRngrVpJyPzbsxQuopRh VMW9D6bXuLX6Q== Received: from johan by xi.lan with local (Exim 4.98.2) (envelope-from ) id 1wAo8S-00000001d6z-0Cpb; Thu, 09 Apr 2026 14:05:24 +0200 From: Johan Hovold To: Mark Brown Cc: Sunny Luo , Xianwei Zhao , Chin-Ting Kuo , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Radu Pirea , William Zhang , Kursad Oney , Jonas Gorski , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold , stable@vger.kernel.org, Steven King Subject: [PATCH 10/20] spi: coldfire-qspi: fix controller deregistration Date: Thu, 9 Apr 2026 14:04:09 +0200 Message-ID: <20260409120419.388546-11-johan@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260409120419.388546-1-johan@kernel.org> References: <20260409120419.388546-1-johan@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Make sure to deregister the controller before disabling underlying resources like clocks (via runtime pm) during driver unbind. Fixes: 34b8c6617366 ("spi: Add Freescale/Motorola Coldfire QSPI driver") Cc: stable@vger.kernel.org # 2.6.34 Cc: Steven King Signed-off-by: Johan Hovold --- drivers/spi/spi-coldfire-qspi.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-coldfire-qspi.c b/drivers/spi/spi-coldfire-qspi.c index fdf37636cb9f..b45f44de85dc 100644 --- a/drivers/spi/spi-coldfire-qspi.c +++ b/drivers/spi/spi-coldfire-qspi.c @@ -410,9 +410,9 @@ static int mcfqspi_probe(struct platform_device *pdev) platform_set_drvdata(pdev, host); pm_runtime_enable(&pdev->dev); - status = devm_spi_register_controller(&pdev->dev, host); + status = spi_register_controller(host); if (status) { - dev_dbg(&pdev->dev, "devm_spi_register_controller failed\n"); + dev_dbg(&pdev->dev, "failed to register controller\n"); goto fail1; } @@ -436,11 +436,17 @@ static void mcfqspi_remove(struct platform_device *pdev) struct spi_controller *host = platform_get_drvdata(pdev); struct mcfqspi *mcfqspi = spi_controller_get_devdata(host); + spi_controller_get(host); + + spi_unregister_controller(host); + pm_runtime_disable(&pdev->dev); /* disable the hardware (set the baud rate to 0) */ mcfqspi_wr_qmr(mcfqspi, MCFQSPI_QMR_MSTR); mcfqspi_cs_teardown(mcfqspi); + + spi_controller_put(host); } #ifdef CONFIG_PM_SLEEP -- 2.52.0