Message ID | 20241008231615.430073-1-djakov@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | spi: geni-qcom: Fix boot warning related to pm_runtime and devres | expand |
On Wed, Oct 09, 2024 at 02:16:15AM +0300, djakov@kernel.org wrote: > From: Georgi Djakov <djakov@kernel.org> > > During boot, users sometimes observe the following warning: > > [7.841431] WARNING: CPU: 4 PID: 492 at > drivers/interconnect/core.c:685 __icc_enable > (drivers/interconnect/core.c:685 (discriminator 7)) > [..] > [7.841494] CPU: 4 PID: 492 Comm: (udev-worker) Not tainted 6.1.111-rc1 #1 > [7.841497] Hardware name: Thundercomm Dragonboard 845c (DT) > [7.841499] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [7.841502] pc : __icc_enable (drivers/interconnect/core.c:685 Please think hard before including complete backtraces in upstream reports, they are very large and contain almost no useful information relative to their size so often obscure the relevant content in your message. If part of the backtrace is usefully illustrative (it often is for search engines if nothing else) then it's usually better to pull out the relevant sections.
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index f6e40f90418f..768d7482102a 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1116,6 +1116,11 @@ static int spi_geni_probe(struct platform_device *pdev) init_completion(&mas->tx_reset_done); init_completion(&mas->rx_reset_done); spin_lock_init(&mas->lock); + + ret = geni_icc_get(&mas->se, NULL); + if (ret) + return ret; + pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_set_autosuspend_delay(&pdev->dev, 250); ret = devm_pm_runtime_enable(dev); @@ -1125,9 +1130,6 @@ static int spi_geni_probe(struct platform_device *pdev) if (device_property_read_bool(&pdev->dev, "spi-slave")) spi->target = true; - ret = geni_icc_get(&mas->se, NULL); - if (ret) - return ret; /* Set the bus quota to a reasonable value for register access */ mas->se.icc_paths[GENI_TO_CORE].avg_bw = Bps_to_icc(CORE_2X_50_MHZ); mas->se.icc_paths[CPU_TO_GENI].avg_bw = GENI_DEFAULT_BW;