--- /dev/null
+From 985140369be1e886754d8ac0375dd64e4f727311 Mon Sep 17 00:00:00 2001
+From: Steven Harms <sjharms@gmail.com>
+Date: Fri, 13 Apr 2012 14:45:55 -0400
+Subject: Add Foxconn / Hon Hai IDs for btusb module
+
+From: Steven Harms <sjharms@gmail.com>
+
+commit 985140369be1e886754d8ac0375dd64e4f727311 upstream.
+
+This change adds 0x0489:0xe033 to the btusb module.
+
+This bluetooth usb device is integrated in the Acer TimelineX AS4830TG-6808 notebook.
+
+Output from /sys/kernel/debug/usb/devices:
+
+T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
+D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
+P: Vendor=0489 ProdID=e033 Rev= 2.29
+S: Manufacturer=Broadcom Corp
+S: Product=Acer Module
+S: SerialNumber=60D819F74101
+C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
+I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
+E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
+E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
+E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
+I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
+I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
+I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
+I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 32 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 32 Ivl=1ms
+I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 64 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 64 Ivl=1ms
+I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 64 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 64 Ivl=1ms
+I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
+E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
+E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
+I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
+
+Signed-off-by: Steven Harms <sjharms@gmail.com>
+Signed-off-by: Gustavo Padovan <gustavo@padovan.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/bluetooth/btusb.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/bluetooth/btusb.c
++++ b/drivers/bluetooth/btusb.c
+@@ -108,6 +108,9 @@ static struct usb_device_id btusb_table[
+ { USB_DEVICE(0x0a5c, 0x21f3) },
+ { USB_DEVICE(0x413c, 0x8197) },
+
++ /* Foxconn - Hon Hai */
++ { USB_DEVICE(0x0489, 0xe033) },
++
+ { } /* Terminating entry */
+ };
+
--- /dev/null
+From 85d59726c5c66016a507f1f4a60db8e374dd284d Mon Sep 17 00:00:00 2001
+From: Michael Gruetzner <mgruetzn@gmx.de>
+Date: Wed, 2 May 2012 22:33:40 +0200
+Subject: Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C
+
+From: Michael Gruetzner <mgruetzn@gmx.de>
+
+commit 85d59726c5c66016a507f1f4a60db8e374dd284d upstream.
+
+Add Foxconn/Hon Hai AR5BBU22 Bluetooth Module( 0x489:0xE03C) to
+the blacklist of btusb module and add it to the ath3k module to properly
+load the firmware in Kernel 3.3.4
+The device is integrated in e.g. some Acer Aspire 7750G.
+
+Output from /sys/kernel/debug/usb/devices:
+
+T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=02 Dev#= 6 Spd=12 MxCh= 0
+D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
+P: Vendor=0489 ProdID=e03c Rev= 0.02
+S: Manufacturer=Atheros Communications
+S: Product=Bluetooth USB Host Controller
+S: SerialNumber=Alaska Day 2006
+C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
+I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
+E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
+E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
+I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
+I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
+I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
+I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
+I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
+I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
+E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
+
+Signed-off-by: Michael Gruetzner <mgruetzn@gmx.de>
+Signed-off-by: Gustavo Padovan <gustavo@padovan.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/bluetooth/ath3k.c | 6 ++++++
+ drivers/bluetooth/btusb.c | 3 +++
+ 2 files changed, 9 insertions(+)
+
+--- a/drivers/bluetooth/ath3k.c
++++ b/drivers/bluetooth/ath3k.c
+@@ -78,6 +78,9 @@ static struct usb_device_id ath3k_table[
+ /* Atheros AR5BBU12 with sflash firmware */
+ { USB_DEVICE(0x0489, 0xE02C) },
+
++ /* Atheros AR5BBU22 with sflash firmware */
++ { USB_DEVICE(0x0489, 0xE03C) },
++
+ { } /* Terminating entry */
+ };
+
+@@ -94,6 +97,9 @@ static struct usb_device_id ath3k_blist_
+ { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
+ { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
+
++ /* Atheros AR5BBU22 with sflash firmware */
++ { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 },
++
+ { } /* Terminating entry */
+ };
+
+--- a/drivers/bluetooth/btusb.c
++++ b/drivers/bluetooth/btusb.c
+@@ -141,6 +141,9 @@ static struct usb_device_id blacklist_ta
+ /* Atheros AR5BBU12 with sflash firmware */
+ { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
+
++ /* Atheros AR5BBU12 with sflash firmware */
++ { USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 },
++
+ /* Broadcom BCM2035 */
+ { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU },
+ { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU },
--- /dev/null
+From 2e8b506310f6433d5558387fd568d4bfb1d6a799 Mon Sep 17 00:00:00 2001
+From: Don Zickus <dzickus@redhat.com>
+Date: Wed, 28 Mar 2012 16:41:11 -0400
+Subject: Bluetooth: btusb: typo in Broadcom SoftSailing id
+
+From: Don Zickus <dzickus@redhat.com>
+
+commit 2e8b506310f6433d5558387fd568d4bfb1d6a799 upstream.
+
+I was trying to backport the following commit to RHEL-6
+
+ From 0cea73465cd22373c5cd43a3edd25fbd4bb532ef Mon Sep 17 00:00:00 2001
+ From: Oliver Neukum <oliver@neukum.org>
+ Date: Wed, 21 Sep 2011 11:37:15 +0200
+ Subject: [PATCH] btusb: add device entry for Broadcom SoftSailing
+
+and noticed it wasn't working on an HP Elitebook. Looking into the patch I
+noticed a very subtle typo in the ids. The patch has '0x05ac' instead of
+'0x0a5c'. A snippet of the lsusb -v output also shows this:
+
+Bus 002 Device 003: ID 0a5c:21e1 Broadcom Corp.
+Device Descriptor:
+ bLength 18
+ bDescriptorType 1
+ bcdUSB 2.00
+ bDeviceClass 255 Vendor Specific Class
+ bDeviceSubClass 1
+ bDeviceProtocol 1
+ bMaxPacketSize0 64
+ idVendor 0x0a5c Broadcom Corp.
+ idProduct 0x21e1
+ bcdDevice 1.12
+ iManufacturer 1 Broadcom Corp
+ iProduct 2 BCM20702A0
+ iSerial 3 60D819F0338C
+ bNumConfigurations 1
+
+Looking at other Broadcom ids, the fix matches them whereas the original patch
+matches Apple's ids.
+
+Tested on an HP Elitebook 8760w. The btusb binds and the userspace stuff loads
+correctly.
+
+Cc: Oliver Neukum <oliver@neukum.org>
+Signed-off-by: Don Zickus <dzickus@redhat.com>
+Acked-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Cc: Jonathan Nieder <jrnieder@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/bluetooth/btusb.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/bluetooth/btusb.c
++++ b/drivers/bluetooth/btusb.c
+@@ -61,7 +61,7 @@ static struct usb_device_id btusb_table[
+ { USB_DEVICE_INFO(0xe0, 0x01, 0x01) },
+
+ /* Broadcom SoftSailing reporting vendor specific */
+- { USB_DEVICE(0x05ac, 0x21e1) },
++ { USB_DEVICE(0x0a5c, 0x21e1) },
+
+ /* Apple MacBookPro 7,1 */
+ { USB_DEVICE(0x05ac, 0x8213) },
bluetooth-btusb-add-support-for-bcm20702a0.patch
bluetooth-btusb-add-usb-device-id-0a5c-21e8.patch
bluetooth-btusb-add-vendor-specific-id-0489-e042-for-bcm20702a0.patch
+bluetooth-btusb-typo-in-broadcom-softsailing-id.patch
+add-foxconn-hon-hai-ids-for-btusb-module.patch
+bluetooth-add-support-for-foxconn-hon-hai-ar5bbu22-0489-e03c.patch