Message ID | 20231020140655.v5.3.I33c8decabd2e77c37524db02b4e6b9b4dbc3a8d6@changeid (mailing list archive) |
---|---|
State | Accepted |
Commit | bb8adff9123e492598162ac1baad01a53891aef6 |
Headers | show |
Series | r8152: Avoid writing garbage to the adapter's registers | expand |
On Fri, Oct 20, 2023 at 2:08 PM Douglas Anderson <dianders@chromium.org> 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@chromium.org> Reviewed-by: Grant Grundler <grundler@chromium.org> > --- > > 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 >
On 10/20/2023 2:06 PM, Douglas Anderson 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(). > > Fixes: a028a9e003f2 ("r8152: move the settings of PHY to a work queue") > Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
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);
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(). Fixes: a028a9e003f2 ("r8152: move the settings of PHY to a work queue") Signed-off-by: Douglas Anderson <dianders@chromium.org> --- 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(+)