On Friday 18 February 2022 14:59:45 CET xkernel.wang@xxxxxxxxxxx wrote: > From: Xiaoke Wang <xkernel.wang@xxxxxxxxxxx> > > One error handler of wfx_init_common() return without calling > ieee80211_free_hw(hw), which may result in memory leak. And I add > one err label to unify the error handler, which is useful for the > subsequent changes. > > Suggested-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> > Signed-off-by: Xiaoke Wang <xkernel.wang@xxxxxxxxxxx> > --- > Changelog > v1->v2 restore the wrong modification of a return statement. > drivers/staging/wfx/main.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c > index 4b9fdf9..9ff69c5 100644 > --- a/drivers/staging/wfx/main.c > +++ b/drivers/staging/wfx/main.c > @@ -309,7 +309,8 @@ struct wfx_dev *wfx_init_common(struct device *dev, > wdev->pdata.gpio_wakeup = devm_gpiod_get_optional(dev, "wakeup", > GPIOD_OUT_LOW); > if (IS_ERR(wdev->pdata.gpio_wakeup)) > - return NULL; > + goto err; > + > if (wdev->pdata.gpio_wakeup) > gpiod_set_consumer_name(wdev->pdata.gpio_wakeup, "wfx wakeup"); > > @@ -328,6 +329,10 @@ struct wfx_dev *wfx_init_common(struct device *dev, > return NULL; > > return wdev; > + > +err: > + ieee80211_free_hw(hw); > + return NULL; > } > > int wfx_probe(struct wfx_dev *wdev) > -- > Looks right. Reviewed-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> -- Jérôme Pouiller