[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <489A9509.90306@garzik.org>
Date: Thu, 07 Aug 2008 02:24:09 -0400
From: Jeff Garzik <jeff@...zik.org>
To: akpm@...ux-foundation.org
CC: netdev@...r.kernel.org, ben.collins@...onical.com,
david-b@...bell.net, gregkh@...e.de, stefan.bader@...onical.com
Subject: Re: [patch 09/12] pegasus: add blacklist support to fix Belkin bluetooth
dongle.
akpm@...ux-foundation.org wrote:
> From: Ben Collins <ben.collins@...onical.com>
>
> Reference: https://launchpad.net/bugs/140511
>
> The Belkin bluetooth dongle unfortunately shares the vendor and device id
> with the network adapter which causes lockups whenever the bluetooth
> dongle is inserted.
>
> Signed-off-by: Stefan Bader <stefan.bader@...onical.com>
> Signed-off-by: Ben Collins <ben.collins@...onical.com>
> Cc: Jeff Garzik <jeff@...zik.org>
> Cc: Greg Kroah-Hartman <gregkh@...e.de>
> Cc: David Brownell <david-b@...bell.net>
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> ---
>
> drivers/net/usb/pegasus.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff -puN drivers/net/usb/pegasus.c~pegasus-add-blacklist-support-to-fix-belkin-bluetooth-dongle drivers/net/usb/pegasus.c
> --- a/drivers/net/usb/pegasus.c~pegasus-add-blacklist-support-to-fix-belkin-bluetooth-dongle
> +++ a/drivers/net/usb/pegasus.c
> @@ -1285,6 +1285,21 @@ static void check_carrier(struct work_st
> }
> }
>
> +static int pegasus_blacklisted(struct usb_device *udev)
> +{
> + struct usb_device_descriptor *udd = &udev->descriptor;
> +
> + /* Special quirk to keep the driver from handling the Belkin Bluetooth
> + * dongle which happens to have the same ID.
> + */
> + if ((udd->idVendor == VENDOR_BELKIN && udd->idProduct == 0x0121) &&
> + (udd->bDeviceClass == USB_CLASS_WIRELESS_CONTROLLER) &&
> + (udd->bDeviceProtocol == 1))
> + return 1;
> +
> + return 0;
> +}
> +
> static int pegasus_probe(struct usb_interface *intf,
> const struct usb_device_id *id)
> {
> @@ -1296,6 +1311,12 @@ static int pegasus_probe(struct usb_inte
> DECLARE_MAC_BUF(mac);
>
> usb_get_dev(dev);
> +
> + if (pegasus_blacklisted(dev)) {
> + res = -ENODEV;
> + goto out;
> + }
> +
applied
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists