From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <1351129589.50995.YahooMailNeo@web125405.mail.ne1.yahoo.com> Date: Wed, 24 Oct 2012 18:46:29 -0700 (PDT) From: Dwaine Garden VE3GIF Reply-To: Dwaine Garden VE3GIF Subject: [PATCH] Bluetooth: Add support for Atheros [04ca:3004] To: "linux-bluetooth@vger.kernel.org" Cc: Dwaine Garden MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Add another vendor specific ID for Atheros AR3012 device. This chip is wrapped by Lite-On Technology Corp. output of usb-devices: Bus 001 Device 008: ID 04ca:3004 Lite-On Technology Corp. Device Descriptor:   bLength                18   bDescriptorType         1   bcdUSB               1.10   bDeviceClass          224 Wireless   bDeviceSubClass         1 Radio Frequency   bDeviceProtocol         1 Bluetooth   bMaxPacketSize0        64   idVendor           0x04ca Lite-On Technology Corp.   idProduct          0x3004   bcdDevice            0.02   iManufacturer           1 Atheros Communications   iProduct                2 Bluetooth USB Host Controller   iSerial                 3 Alaska Day 2006   bNumConfigurations      1   Configuration Descriptor:     bLength                 9     bDescriptorType         2     wTotalLength          177     bNumInterfaces          2     bConfigurationValue     1     iConfiguration          4 BT HCI     bmAttributes         0xe0       Self Powered       Remote Wakeup     MaxPower              100mA     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        0       bAlternateSetting       0       bNumEndpoints           3       bInterfaceClass       224 Wireless       bInterfaceSubClass      1 Radio Frequency       bInterfaceProtocol      1 Bluetooth       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x81  EP 1 IN         bmAttributes            3           Transfer Type            Interrupt           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0010  1x 16 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x82  EP 2 IN         bmAttributes            2           Transfer Type            Bulk           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0040  1x 64 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x02  EP 2 OUT         bmAttributes            2           Transfer Type            Bulk           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0040  1x 64 bytes         bInterval               1     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        1       bAlternateSetting       0       bNumEndpoints           2       bInterfaceClass       224 Wireless       bInterfaceSubClass      1 Radio Frequency       bInterfaceProtocol      1 Bluetooth       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x83  EP 3 IN         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0000  1x 0 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x03  EP 3 OUT         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0000  1x 0 bytes         bInterval               1     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        1       bAlternateSetting       1       bNumEndpoints           2       bInterfaceClass       224 Wireless       bInterfaceSubClass      1 Radio Frequency       bInterfaceProtocol      1 Bluetooth       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x83  EP 3 IN         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0009  1x 9 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x03  EP 3 OUT         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0009  1x 9 bytes         bInterval               1     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        1       bAlternateSetting       2       bNumEndpoints           2       bInterfaceClass       224 Wireless       bInterfaceSubClass      1 Radio Frequency       bInterfaceProtocol      1 Bluetooth       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x83  EP 3 IN         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0011  1x 17 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x03  EP 3 OUT         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0011  1x 17 bytes         bInterval               1     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        1       bAlternateSetting       3       bNumEndpoints           2       bInterfaceClass       224 Wireless       bInterfaceSubClass      1 Radio Frequency       bInterfaceProtocol      1 Bluetooth       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x83  EP 3 IN         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0019  1x 25 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x03  EP 3 OUT         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0019  1x 25 bytes         bInterval               1     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        1       bAlternateSetting       4       bNumEndpoints           2       bInterfaceClass       224 Wireless       bInterfaceSubClass      1 Radio Frequency       bInterfaceProtocol      1 Bluetooth       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x83  EP 3 IN         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0021  1x 33 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x03  EP 3 OUT         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0021  1x 33 bytes         bInterval               1     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        1       bAlternateSetting       5       bNumEndpoints           2       bInterfaceClass       224 Wireless       bInterfaceSubClass      1 Radio Frequency       bInterfaceProtocol      1 Bluetooth       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x83  EP 3 IN         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0031  1x 49 bytes         bInterval               1       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x03  EP 3 OUT         bmAttributes            1           Transfer Type            Isochronous           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0031  1x 49 bytes         bInterval               1 Device Status:     0x0003   Self Powered   Remote Wakeup Enabled Signed-off-by: Dwaine Garden   --- diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c index fc2de55..1486f15 100644 --- a/drivers/bluetooth/ath3k.c +++ b/drivers/bluetooth/ath3k.c @@ -75,6 +75,7 @@ static struct usb_device_id ath3k_table[] = {         { USB_DEVICE(0x0CF3, 0x3004) },         { USB_DEVICE(0x0CF3, 0x311D) },         { USB_DEVICE(0x13d3, 0x3375) }, +      { USB_DEVICE(0x04CA, 0x3004) },         { USB_DEVICE(0x04CA, 0x3005) },         { USB_DEVICE(0x13d3, 0x3362) },         { USB_DEVICE(0x0CF3, 0xE004) }, @@ -102,6 +103,7 @@ static struct usb_device_id ath3k_blist_tbl[] = {         { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x0cf3, 0x311D), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, +      { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index debda27..0529cee 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -132,6 +132,7 @@ static struct usb_device_id blacklist_table[] = {         { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, +      { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },         { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },