lkml.org 
[lkml]   [2022]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectRe: [PATCH v4] amba: Remove deferred device addition
On Wed, Jul 13, 2022 at 7:58 AM Sudeep Holla <sudeep.holla@arm.com> wrote:
>
> On Tue, Jul 12, 2022 at 12:38:33PM -0700, Saravana Kannan wrote:
> > Sudeep,
> >
> > This makes me think the issue you are seeing is related to your
> > hardware drivers. Can you look into those please? I'm leaning towards
> > merging this amba clean up and adding delays (say 1ms) to your
> > clock/power domain drivers to avoid the crash you are seeing. And then
> > you can figure out the actual delays needed and update it.
>
> I haven't got a chance to debug the issue on Juno much further. One thing
> about the platform is that we can't turn off the debug power domain that
> most of the coresight devices share.
>
> One thing I also observed with -next+this patch is that with a little log
> it can access the registers while adding first few devices and then crash
> which doesn't align with platform behaviour as we can't turn off the domain
> though we attached and turn on in amba_read_periphid and then turn off and
> detach the power domain. Ideally if first device amba_read_periphid was
> successful, it must be the case for all, but I see different behaviour.
>
> I need to check again to confirm if it is issue with platform power domain
> driver. It is based on SCMI so there is some role played by the f/w as well.

Yeah, this log timing based behavior is what makes me suspect it's not
a problem with this patch itself.

However, just to rule it out, can you try making this change on top of
v4 and give it a shot? This is related to the issue Marek reported,
but those are more about permanent probe failures. Not a crash.

+++ b/drivers/amba/bus.c
@@ -219,7 +219,7 @@ static int amba_match(struct device *dev, struct
device_driver *drv)
* none of the drivers match.
*/
if (ret)
- return ret == -EPROBE_DEFER ? ret : 0;
+ return -EPROBE_DEFER;
dev_set_uevent_suppress(dev, false);
kobject_uevent(&dev->kobj, KOBJ_ADD);
}
-Saravana

\
 
 \ /
  Last update: 2022-07-19 03:56    [W:0.124 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site