Subject: Re: [PATCHv2] USB: zaurus: support another broken Zaurus

From: Greg KH <[email-masked]>
Date: Thu, 10 Feb 2022 17:51:36 +0100

On Thu, Feb 10, 2022 at 04:59:11PM +0100, Oliver Neukum wrote:
> This SL-6000 says Direct Line, not Ethernet
> 
> v2: added Reporter and Link

This line goes below the --- line, right?

> 
> Signed-off-by: Oliver Neukum <[email-masked]>
> Reported-by: Ross Maynard <[email-masked]>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=215361
> ---
>  drivers/net/usb/cdc_ether.c | 12 ++++++++++++
>  drivers/net/usb/zaurus.c    | 12 ++++++++++++
>  2 files changed, 24 insertions(+)
> 
> diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
> index eb3817d70f2b..9b4dfa3001d6 100644
> --- a/drivers/net/usb/cdc_ether.c
> +++ b/drivers/net/usb/cdc_ether.c
> @@ -583,6 +583,11 @@ static const struct usb_device_id	products[] = {
>  	.bInterfaceSubClass	= USB_CDC_SUBCLASS_ETHERNET, \
>  	.bInterfaceProtocol	= USB_CDC_PROTO_NONE
>  
> +#define ZAURUS_FAKE_INTERFACE \
> +	.bInterfaceClass	= USB_CLASS_COMM, \
> +	.bInterfaceSubClass	= USB_CDC_SUBCLASS_MDLM, \
> +	.bInterfaceProtocol	= USB_CDC_PROTO_NONE
> +
>  /* SA-1100 based Sharp Zaurus ("collie"), or compatible;
>   * wire-incompatible with true CDC Ethernet implementations.
>   * (And, it seems, needlessly so...)
> @@ -636,6 +641,13 @@ static const struct usb_device_id	products[] = {
>  	.idProduct              = 0x9032,	/* SL-6000 */
>  	ZAURUS_MASTER_INTERFACE,
>  	.driver_info		= 0,
> +}, {
> +	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
> +		 | USB_DEVICE_ID_MATCH_DEVICE,
> +	.idVendor               = 0x04DD,
> +	.idProduct              = 0x9032,	/* SL-6000 */
> +	ZAURUS_FAKE_INTERFACE,
> +	.driver_info		= 0,
>  }, {
>  	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
>  		 | USB_DEVICE_ID_MATCH_DEVICE,
> diff --git a/drivers/net/usb/zaurus.c b/drivers/net/usb/zaurus.c
> index 8e717a0b559b..5289b6e31713 100644
> --- a/drivers/net/usb/zaurus.c
> +++ b/drivers/net/usb/zaurus.c
> @@ -256,6 +256,11 @@ static const struct usb_device_id	products [] = {
>  	.bInterfaceSubClass	= USB_CDC_SUBCLASS_ETHERNET, \
>  	.bInterfaceProtocol	= USB_CDC_PROTO_NONE
>  
> +#define ZAURUS_FAKE_INTERFACE \
> +	.bInterfaceClass	= USB_CLASS_COMM, \
> +	.bInterfaceSubClass	= USB_CDC_SUBCLASS_MDLM, \
> +	.bInterfaceProtocol	= USB_CDC_PROTO_NONE
> +
>  /* SA-1100 based Sharp Zaurus ("collie"), or compatible. */
>  {
>  	.match_flags	=   USB_DEVICE_ID_MATCH_INT_INFO
> @@ -313,6 +318,13 @@ static const struct usb_device_id	products [] = {
>  	.idProduct              = 0x9032,	/* SL-6000 */
>  	ZAURUS_MASTER_INTERFACE,
>  	.driver_info = ZAURUS_PXA_INFO,
> +}, {
> +        .match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
> +                 | USB_DEVICE_ID_MATCH_DEVICE,
> +        .idVendor		= 0x04DD,
> +        .idProduct		= 0x9032,	/* SL-6000 */
> +        ZAURUS_FAKE_INTERFACE,
> +        .driver_info = (unsigned long) &bogus_mdlm_info,
>  }, {
>  	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
>  		 | USB_DEVICE_ID_MATCH_DEVICE,

Did you run this through checkpatch?  You forgot the leading tabs here
in this last chunk again :(

thanks,

greg k-h