[lkml]   [2016]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v5 2/5] driver core: Functional dependencies tracking support
On Thu, Nov 10, 2016 at 1:59 AM, Luis R. Rodriguez <> wrote:
> On Wed, Nov 9, 2016 at 4:43 PM, Rafael J. Wysocki <> wrote:
>> On Mon, Nov 7, 2016 at 10:22 PM, Luis R. Rodriguez <> wrote:
>>> As clarified by Rafael at Plumbers, this functional dependencies
>>> framework assumes your driver / subsystem supports deferred probe,
>> It isn't particularly clear what you mean by "support" here.
> I noted some folks had reported issues, and you acknowledged that if
> deferred probe was used in some drivers and if this created an issue
> the same issue would be seen with this framework. AFAICT there are two
> possible issues to consider:
> 1) the one Geert Uytterhoeven noted. Again I'll note what he had mentioned [0].
> "Some drivers / subsystems don’t support deferred probe yet, such failures
> usually don’t blow up, but cause subtle malfunctioning. Example, an Ethernet
> phy could not get its interrupt as the primary IRQ chip had not been probed
> yet, it reverted to polling though. Sub-optimal." [0]
> [0]
> Geert can you provide more details?

Issue reported in "of_mdiobus_register_phy() and deferred probe"

Key point is:
"However, of_mdiobus_register_phy() uses irq_of_parse_and_map(), which plainly
ignores EPROBE_DEFER, and it just continues."

At that time, the PHY driver fell back to polling, but as of commit d5c3d8465
("net: phy: Avoid polling PHY with PHY_IGNORE_INTERRUPTS") that's no longer the
case, and now the PHY fails to work completely.

Workaround is "[PATCH v2] irqchip/renesas-irqc: Postpone driver initialization"
(, which seems to have
sparked some interest in fixing the issue for good ;-)



Geert Uytterhoeven -- There's lots of Linux beyond ia32 --

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

 \ /
  Last update: 2016-11-10 09:47    [W:0.170 / U:0.708 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site