[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100115224815.GA12101@kroah.com>
Date: Fri, 15 Jan 2010 14:48:15 -0800
From: Greg KH <greg@...ah.com>
To: Gernot Hillier <gernot@...lier.de>
Cc: Matthias Urlichs <smurf@...rf.noris.de>,
Greg Kroah-Hartman <gregkh@...e.de>,
Oliver Neukum <oliver@...kum.org>, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] option.c: Add blacklisting infrastructure for
special device handling
On Mon, Jan 11, 2010 at 09:30:00AM +0100, Gernot Hillier wrote:
> From: Gernot Hillier <gernot@...lier.de>
>
> As suggested by Matthias Urlichs, this patch adds a somehow generic
> mechanism for special handling of devices which don't support all
> bits expected by this driver.
>
> The blacklisting code is heavily stolen from sierra.c, but extended to
> support different special cases.
>
> For now, one case is implemented (OPTION_BLACKLIST_SENDSETUP),
> targeted at the 4G W14 device: devices which don't understand the
> setting of RTS/DTR in option_send_setup() causing a USB timeout of
> 5 s in any userspace open() which leads to errors in most userspace
> applications.
>
> In addition, I prepared another case for devices with interfaces which
> shall not be accessed by this driver (targeted at the D-Link DWM 652).
>
> However, OPTION_BLACKLIST_RESERVED_IF is not fully implemented yet as
> I have no device to test this. Anyone volunteering to help here?
> If not, I'll contact the guys who added D-Link DWM 652 support soon.
>
> Signed-off-by: Gernot Hillier <gernot@...lier.de>
>
> Index: linux-next/drivers/usb/serial/option.c
> ===================================================================
> --- linux-next.orig/drivers/usb/serial/option.c 2010-01-09 10:24:57.000000000 +0100
> +++ linux-next/drivers/usb/serial/option.c 2010-01-09 10:25:00.000000000 +0100
> @@ -344,6 +344,19 @@ static int option_resume(struct usb_ser
> #define HAIER_VENDOR_ID 0x201e
> #define HAIER_PRODUCT_CE100 0x2009
>
> +/* some devices interfaces need special handling due to a number of reasons */
> +typedef enum {
> + OPTION_BLACKLIST_NONE = 0,
> + OPTION_BLACKLIST_SENDSETUP = 1,
> + OPTION_BLACKLIST_RESERVED_IF = 2
> +} option_blacklist_reason_t;
I changed this to not use a typedef, you should not add new typedefs to
the kernel.
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists