[]..
spi->bus_num = -1;spi->dev.of_node = dev->of_node; @@ -596,6 +607,9 @@ static int spi_geni_probe(struct platform_device *pdev) spi_geni_probe_runtime_disable: pm_runtime_disable(dev); spi_master_put(spi); + if (mas->se.has_opp_table)Why do you need has_opp_table? Afaict if dev_pm_opp_of_add_table() returns -ENODEV there's no attached opp-table and dev_pm_opp_of_remove_table() is a nop.
Apparently its not. Calling dev_pm_opp_of_remove_table() when dev_pm_opp_of_add_table() failed causes use-count mismatch. You can see https://lkml.org/lkml/2020/4/15/18 for more details. -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

