Hi Sasha! Dne ponedeljek, 06. februar 2023 ob 14:45:06 CET je Sasha Levin napisal(a): > This is a note to let you know that I've just added the patch titled > > bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() > > to the 5.10-stable tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum > mary > > The filename of the patch is: > bus-sunxi-rsb-fix-error-handling-in-sunxi_rsb_init.patch > and it can be found in the queue-5.10 subdirectory. > > If you, or anyone else, feels it should not be added to the stable tree, > please let <stable@xxxxxxxxxxxxxxx> know about it. > > > > commit ad954fdfb62b7541a93ce1a12da025a8f698d8a8 > Author: Yuan Can <yuancan@xxxxxxxxxx> > Date: Wed Nov 23 09:42:00 2022 +0000 > > bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() > > [ Upstream commit f71eaf2708be7831428eacae7db25d8ec6b8b4c5 ] > > The sunxi_rsb_init() returns the platform_driver_register() directly > without checking its return value, if platform_driver_register() failed, > the sunxi_rsb_bus is not unregistered. > Fix by unregister sunxi_rsb_bus when platform_driver_register() failed. > > Fixes: d787dcdb9c8f ("bus: sunxi-rsb: Add driver for Allwinner Reduced > Serial Bus") Signed-off-by: Yuan Can <yuancan@xxxxxxxxxx> > Reviewed-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx> > Link: > https://lore.kernel.org/r/20221123094200.12036-1-yuancan@xxxxxxxxxx > Signed-off-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > > diff --git a/drivers/bus/sunxi-rsb.c b/drivers/bus/sunxi-rsb.c > index f8c29b888e6b..98cbb18f17fa 100644 > --- a/drivers/bus/sunxi-rsb.c > +++ b/drivers/bus/sunxi-rsb.c > @@ -781,7 +781,13 @@ static int __init sunxi_rsb_init(void) > return ret; > } > > - return platform_driver_register(&sunxi_rsb_driver); > + ret = platform_driver_register(&sunxi_rsb_driver); > + if (ret) { > + bus_unregister(&sunxi_rsb_bus); > + return ret; > + } > + > + return 0; > } > module_init(sunxi_rsb_init); > > diff --git a/sound/soc/intel/boards/bytcr_rt5651.c > b/sound/soc/intel/boards/bytcr_rt5651.c index bf8b87d45cb0..2c76f0abeeca > 100644 > --- a/sound/soc/intel/boards/bytcr_rt5651.c > +++ b/sound/soc/intel/boards/bytcr_rt5651.c > @@ -918,7 +918,6 @@ static int snd_byt_rt5651_mc_probe(struct > platform_device *pdev) if (adev) { > snprintf(byt_rt5651_codec_name, sizeof(byt_rt5651_codec_name), > "i2c-%s", acpi_dev_name(adev)); > - put_device(&adev->dev); > byt_rt5651_dais[dai_index].codecs->name = byt_rt5651_codec_name; > } else { > dev_err(&pdev->dev, "Error cannot find '%s' dev\n", mach->id); > @@ -927,6 +926,7 @@ static int snd_byt_rt5651_mc_probe(struct > platform_device *pdev) > > codec_dev = bus_find_device_by_name(&i2c_bus_type, NULL, > byt_rt5651_codec_name); > + acpi_dev_put(adev); > if (!codec_dev) > return -EPROBE_DEFER; Above bytcr_rt5651.c changes are unrelated to original commit. Did you merge two commits by mistake? Best regards, Jernej