Re: [PATCH] usb: hub: report failure to enumerate uevent to userspace

From: Greg Kroah-Hartman
Date: Wed Jun 05 2019 - 06:07:40 EST


On Wed, Jun 05, 2019 at 11:05:56AM +0200, Eugeniu Rosca wrote:
> From: Spyridon Papageorgiou <spapageorgiou@xxxxxxxxxxxxxx>
>
> When a USB device fails to enumerate, only a kernel message is printed.
> With this patch, a uevent is also generated to notify userspace.
> Services can monitor for the event through udev and handle failures
> accordingly.
>
> The "port_enumerate_fail_notify()" function name follows the syntax of
> "port_over_current_notify()" used in v4.20-rc1
> commit 201af55da8a398 ("usb: core: added uevent for over-current").
>
> Signed-off-by: Spyridon Papageorgiou <spapageorgiou@xxxxxxxxxxxxxx>
> Signed-off-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx>

All we need is one special notifier! ...

{grumble}

This can end up causing loads of new kobject change events to be added,
overloading what uevents were supposed to be in the first place
(add/remove of sysfs objects).

I just talked with David Howells, and this type of thing really should
be tied into the new "notifier" interface/api. That way you can
register for any specific type of event and just get notified of them
when they happen. No need to mess with uevents.

See his posts on linux-api starting with:
Subject: [RFC][PATCH 0/8] Mount, FS, Block and Keyrings notifications [ver #2]
for the proposal.

If we added USB (or really any hardware events) to that interface, would
it solve the issue you are trying to solve here?

thanks,

greg k-h