On Fri, Dec 20, 2019 at 09:15:59PM +0000, Malcolm Priestley wrote:
> intfdata will contain stale pointer when the device is detached after
> failed initialization when referenced in vt6656_disconnect
> 
> Provide driver access to it here and NULL it.
> 
> Cc: stable <sta...@vger.kernel.org>
> Signed-off-by: Malcolm Priestley <tvbox...@gmail.com>
> ---
>  drivers/staging/vt6656/device.h   | 1 +
>  drivers/staging/vt6656/main_usb.c | 1 +
>  drivers/staging/vt6656/wcmd.c     | 1 +
>  3 files changed, 3 insertions(+)
> 
> diff --git a/drivers/staging/vt6656/device.h b/drivers/staging/vt6656/device.h
> index 6074ceda78bf..50e1c8918040 100644
> --- a/drivers/staging/vt6656/device.h
> +++ b/drivers/staging/vt6656/device.h
> @@ -259,6 +259,7 @@ struct vnt_private {
>       u8 mac_hw;
>       /* netdev */
>       struct usb_device *usb;
> +     struct usb_interface *intf;
>  
>       u64 tsf_time;
>       u8 rx_rate;
> diff --git a/drivers/staging/vt6656/main_usb.c 
> b/drivers/staging/vt6656/main_usb.c
> index 4a5d741f94f5..9cb924c54571 100644
> --- a/drivers/staging/vt6656/main_usb.c
> +++ b/drivers/staging/vt6656/main_usb.c
> @@ -992,6 +992,7 @@ vt6656_probe(struct usb_interface *intf, const struct 
> usb_device_id *id)
>       priv = hw->priv;
>       priv->hw = hw;
>       priv->usb = udev;
> +     priv->intf = intf;
>  
>       vnt_set_options(priv);
>  
> diff --git a/drivers/staging/vt6656/wcmd.c b/drivers/staging/vt6656/wcmd.c
> index 3eb2f11a5de1..2c5250ca2801 100644
> --- a/drivers/staging/vt6656/wcmd.c
> +++ b/drivers/staging/vt6656/wcmd.c
> @@ -99,6 +99,7 @@ void vnt_run_command(struct work_struct *work)
>               if (vnt_init(priv)) {
>                       /* If fail all ends TODO retry */
>                       dev_err(&priv->usb->dev, "failed to start\n");
> +                     usb_set_intfdata(priv->intf, NULL);
>                       ieee80211_free_hw(priv->hw);
>                       return;
>               }

You set this variable, but never reference it, so how does this change
any behavior in the driver?

thanks,

greg k-h
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to