Re: [PATCH v6] amba: Remove deferred device addition

From: Guenter Roeck
Date: Fri Aug 12 2022 - 11:19:46 EST


On 8/11/22 22:12, Isaac Manjarres wrote:
On Thu, Aug 11, 2022 at 12:55:08PM -0700, Guenter Roeck wrote:

Ah, it must be triggered by one of the configuration options I have enabled
on top of versatile_defconfig. Sorry, I should have checked. Please try
with the configuration below.

Guenter

Thanks for sharing your config options; I was able to reproduce the
crash after copying your config options to my repository :) The
following changes fixed the problem for me. Can you please give them a
try on your end to see if they work for you too?

diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 90b31fb141a5..0315bc2853ef 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -1117,7 +1117,9 @@ static int __driver_attach(struct device *dev, void *data)
* is an error.
*/

+ device_lock(dev);
ret = driver_match_device(drv, dev);
+ device_unlock(dev);
if (ret == 0) {
/* no match */
return 0;


Thanks,
Isaac

The original test passes, but I now see other boot failures with other emulations.
I don't know yet if it is due to your changes or due to something else. I'll do
more testing and let you know.

Guenter