Subject: Re: [PATCH net-next 04/19] net: usb: aqc111: Various callbacks implementation

From: Oliver Neukum <[email-masked]>
Date: Mon, 08 Oct 2018 15:47:14 +0200

On Fr, 2018-10-05 at 10:24 +0000, Igor Russkikh wrote:
> From: Dmitry Bezrukov <[email-masked]>
> 
> Reset, stop callbacks, driver unbind callback.
> More register defines required for these callbacks.
> 
> Signed-off-by: Dmitry Bezrukov <[email-masked]>
> Signed-off-by: Igor Russkikh <[email-masked]>
> ---
>  drivers/net/usb/aqc111.c |  48 ++++++++++++++++++++++
>  drivers/net/usb/aqc111.h | 101 +++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 149 insertions(+)
> 
> diff --git a/drivers/net/usb/aqc111.c b/drivers/net/usb/aqc111.c
> index 7f3e5a615750..22bb259d71fb 100644
> --- a/drivers/net/usb/aqc111.c
> +++ b/drivers/net/usb/aqc111.c
> @@ -169,12 +169,60 @@ static int aqc111_bind(struct usbnet *dev, struct usb_interface *intf)
>  
>  static void aqc111_unbind(struct usbnet *dev, struct usb_interface *intf)
>  {
> +	u8 reg8;
> +	u16 reg16;
> +
> +	/* Force bz */
> +	reg16 = SFR_PHYPWR_RSTCTL_BZ;
> +	aqc111_write_cmd_nopm(dev, AQ_ACCESS_MAC, SFR_PHYPWR_RSTCTL,
> +			      2, 2, &reg16);

No, I am sorry, you are doing DMA on the kernel stack. That is not
allowed. These functions will all have to be fixed.

	Regards
		Oliver