Re: [PATCH stable-4.14] driver core: Fix bus_type.match() error handling in __driver_attach()

From: Greg Kroah-Hartman
Date: Thu Jan 12 2023 - 07:52:44 EST


On Mon, Jan 09, 2023 at 06:15:36PM -0800, Isaac J. Manjarres wrote:
> commit 27c0d217340e47ec995557f61423ef415afba987 upstream.
>
> When a driver registers with a bus, it will attempt to match with every
> device on the bus through the __driver_attach() function. Currently, if
> the bus_type.match() function encounters an error that is not
> -EPROBE_DEFER, __driver_attach() will return a negative error code, which
> causes the driver registration logic to stop trying to match with the
> remaining devices on the bus.
>
> This behavior is not correct; a failure while matching a driver to a
> device does not mean that the driver won't be able to match and bind
> with other devices on the bus. Update the logic in __driver_attach()
> to reflect this.
>
> Fixes: 656b8035b0ee ("ARM: 8524/1: driver cohandle -EPROBE_DEFER from bus_type.match()")
> Cc: stable@xxxxxxxxxxxxxxx
> Cc: Saravana Kannan <saravanak@xxxxxxxxxx>
> Signed-off-by: Isaac J. Manjarres <isaacmanjarres@xxxxxxxxxx>
> ---
> drivers/base/dd.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)

All now queued up, thanks.

greg k-h