On Fri, Oct 20, 2023 at 2:08 PM Douglas Anderson <dianders@xxxxxxxxxxxx> wrote: > > The error handling in rtl8152_probe() is missing a call to cancel the > hw_phy_work. Add it in to match what's in the cleanup code in > rtl8152_disconnect(). Sounds like there is a future opportunity for someone (not Doug) to refactor code. > Fixes: a028a9e003f2 ("r8152: move the settings of PHY to a work queue") > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Grant Grundler <grundler@xxxxxxxxxxxx> > --- > > Changes in v5: > - ("Cancel hw_phy_work if we have an error in probe") new for v5. > > drivers/net/usb/r8152.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c > index 201c688e3e3f..d10b0886b652 100644 > --- a/drivers/net/usb/r8152.c > +++ b/drivers/net/usb/r8152.c > @@ -9783,6 +9783,7 @@ static int rtl8152_probe(struct usb_interface *intf, > > out1: > tasklet_kill(&tp->tx_tl); > + cancel_delayed_work_sync(&tp->hw_phy_work); > if (tp->rtl_ops.unload) > tp->rtl_ops.unload(tp); > usb_set_intfdata(intf, NULL); > -- > 2.42.0.758.gaed0368e0e-goog >