From: Greg Kroah-Hartman Date: Mon, 9 Jun 2014 23:05:03 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.14.7~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d5dad10e037a6af371e3117ed983278765608abb;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: bluetooth-add-a-new-pid-vid-0cf3-e005-for-ar3012.patch bluetooth-add-support-for-atheros-0489-e057.patch bluetooth-add-support-for-atheros-04ca-3004-device-to-ath3k.patch bluetooth-add-support-for-atheros-0930-0219.patch bluetooth-add-support-for-atheros-a.patch bluetooth-add-support-for-atheros.patch bluetooth-add-support-for-bcm20702a0-a.patch bluetooth-add-support-for-bcm20702a0-b.patch bluetooth-add-support-for-bcm20702a0.patch bluetooth-add-support-for-foxconn-hon-hai-a.patch bluetooth-add-support-for-foxconn-hon-hai-ar5bbu22-0489-e03c.patch bluetooth-add-support-for-foxconn-hon-hai-b.patch bluetooth-add-support-for-foxconn-hon-hai.patch bluetooth-add-support-for-gc-wb300d-pcie-to-ath3k.patch bluetooth-add-support-for-imc-networks.patch bluetooth-add-support-for-mediatek-bluetooth-device.patch bluetooth-add-support-for-sony-vaio-t-series.patch bluetooth-add-usb_vendor_and_interface_info-for-broadcom-foxconn.patch bluetooth-ath3k-add-support-for-fujitsu-lifebook-uh5x2.patch bluetooth-ath3k-add-support-for-id-0x13d3-0x3402.patch bluetooth-device-04ca-3008-should-use-ath3k.patch bluetooth-device-0cf3-3008-should-map-ar-3012.patch bluetooth-fix-invalid-length-check-in-l2cap_information_rsp.patch bluetooth-fix-missing-length-checks-for-l2cap-signalling-pdus.patch bluetooth-support-ar3011-in-acer-iconia-tab-w500.patch --- diff --git a/queue-3.4/bluetooth-add-a-new-pid-vid-0cf3-e005-for-ar3012.patch b/queue-3.4/bluetooth-add-a-new-pid-vid-0cf3-e005-for-ar3012.patch new file mode 100644 index 00000000000..47a52bfd535 --- /dev/null +++ b/queue-3.4/bluetooth-add-a-new-pid-vid-0cf3-e005-for-ar3012.patch @@ -0,0 +1,62 @@ +From 50a0ff96891fff6544c83441abf2f0484f94c833 Mon Sep 17 00:00:00 2001 +From: Peng Chen +Date: Fri, 30 Aug 2013 17:41:40 +0800 +Subject: Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012. + +From: Peng Chen + +commit 0a3658cccdf5326ea508efeb1879b0e2508bb0c3 upstream. + +usb device info: + +T: Bus=06 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 15 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0cf3 ProdID=e005 Rev= 0.02 +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 + +Signed-off-by: Peng Chen +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -85,6 +85,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x04CA, 0x3008) }, + { USB_DEVICE(0x13d3, 0x3362) }, + { USB_DEVICE(0x0CF3, 0xE004) }, ++ { USB_DEVICE(0x0CF3, 0xE005) }, + { USB_DEVICE(0x0930, 0x0219) }, + { USB_DEVICE(0x0489, 0xe057) }, + { USB_DEVICE(0x13d3, 0x3393) }, +@@ -126,6 +127,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0xe005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -154,6 +154,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0xe005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, diff --git a/queue-3.4/bluetooth-add-support-for-atheros-0489-e057.patch b/queue-3.4/bluetooth-add-support-for-atheros-0489-e057.patch new file mode 100644 index 00000000000..1c51a33e7e2 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-atheros-0489-e057.patch @@ -0,0 +1,79 @@ +From db50e323d9c7fe7b12361e61b258592b199be76b Mon Sep 17 00:00:00 2001 +From: Peng Chen +Date: Wed, 1 Aug 2012 10:11:59 +0800 +Subject: Bluetooth: add support for atheros 0489:e057 + +From: Peng Chen + +commit 2096ae6ca647302d50a68aa36cb66a00e7dfac70 upstream. + + Add support for the AR3012 chip found on Fioxconn. + + usb-devices shows: + + T: Bus=06 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 44 Spd=12 MxCh= 0 + D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 + P: Vendor=0489 ProdID=e057 Rev= 0.02 + 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: Peng Chen +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -82,6 +82,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x13d3, 0x3362) }, + { USB_DEVICE(0x0CF3, 0xE004) }, + { USB_DEVICE(0x0930, 0x0219) }, ++ { USB_DEVICE(0x0489, 0xe057) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -106,6 +107,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + + { } /* Terminating entry */ + }; +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -146,6 +146,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-atheros-04ca-3004-device-to-ath3k.patch b/queue-3.4/bluetooth-add-support-for-atheros-04ca-3004-device-to-ath3k.patch new file mode 100644 index 00000000000..6d1f28f09fb --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-atheros-04ca-3004-device-to-ath3k.patch @@ -0,0 +1,63 @@ +From def389b911247e3985f6b8225991d9108eca3d0b Mon Sep 17 00:00:00 2001 +From: Josh Boyer +Date: Tue, 19 Feb 2013 11:54:16 -0500 +Subject: Bluetooth: Add support for atheros 04ca:3004 device to ath3k + +From: Josh Boyer + +commit 3f63c340a72f2872a9362245cb2e03f3d2bb73a6 upstream. + +Yet another version of the atheros bluetooth chipset + +T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=04ca ProdID=3004 Rev=00.01 +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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +This resolves https://bugzilla.redhat.com/show_bug.cgi?id=844750 + +Reported-by: niktr@mail.ru +Signed-off-by: Josh Boyer +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -78,6 +78,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0CF3, 0x311D) }, + { USB_DEVICE(0x0CF3, 0x817a) }, + { USB_DEVICE(0x13d3, 0x3375) }, ++ { USB_DEVICE(0x04CA, 0x3004) }, + { USB_DEVICE(0x04CA, 0x3005) }, + { USB_DEVICE(0x04CA, 0x3006) }, + { USB_DEVICE(0x04CA, 0x3008) }, +@@ -112,6 +113,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0cf3, 0x311D), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0CF3, 0x817a), .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(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -144,6 +144,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x817a), .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(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, diff --git a/queue-3.4/bluetooth-add-support-for-atheros-0930-0219.patch b/queue-3.4/bluetooth-add-support-for-atheros-0930-0219.patch new file mode 100644 index 00000000000..ca8a3ad3f53 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-atheros-0930-0219.patch @@ -0,0 +1,62 @@ +From 65c5e411f7834450ecdef41047c4a63b6eff998b Mon Sep 17 00:00:00 2001 +From: Giancarlo Formicuccia +Date: Sun, 10 Jun 2012 08:33:11 +0200 +Subject: Bluetooth: add support for atheros 0930:0219 + +From: Giancarlo Formicuccia + +commit 6c4ae5c2e7bfbb7d10d73611f69ac8a8609d84fd upstream. + +Add support for the AR3012 chip found on the Toshiba Sallite M840-1000-XQ. + +usb-devices shows: + +T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0930 ProdID=0219 Rev=00.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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: Giancarlo Formicuccia +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -81,6 +81,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x04CA, 0x3005) }, + { USB_DEVICE(0x13d3, 0x3362) }, + { USB_DEVICE(0x0CF3, 0xE004) }, ++ { USB_DEVICE(0x0930, 0x0219) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -104,6 +105,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + + { } /* Terminating entry */ + }; +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -145,6 +145,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-atheros-a.patch b/queue-3.4/bluetooth-add-support-for-atheros-a.patch new file mode 100644 index 00000000000..fe74197fe68 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-atheros-a.patch @@ -0,0 +1,57 @@ +From b395e4661bfaff659a8a9f9ba37f894742e9d923 Mon Sep 17 00:00:00 2001 +From: AceLan Kao +Date: Thu, 20 Jun 2013 13:38:45 +0800 +Subject: Bluetooth: Add support for Atheros [0cf3:e003] + +From: AceLan Kao + +commit 1d5b569ef85d013a775560a90050dc630614c045 upstream. + +Add support for the AR9462 chip + +T: Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0cf3 ProdID=e003 Rev=00.02 +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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: AceLan Kao +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -94,6 +94,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x04c5, 0x1330) }, + { USB_DEVICE(0x13d3, 0x3402) }, + { USB_DEVICE(0x0cf3, 0x3121) }, ++ { USB_DEVICE(0x0cf3, 0xe003) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -134,6 +135,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0xe003), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -163,6 +163,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0xe003), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-atheros.patch b/queue-3.4/bluetooth-add-support-for-atheros.patch new file mode 100644 index 00000000000..a3fc73a4727 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-atheros.patch @@ -0,0 +1,57 @@ +From 39a53ec969b52200a55974a8c6650efb0a3c4abd Mon Sep 17 00:00:00 2001 +From: AceLan Kao +Date: Wed, 17 Jul 2013 11:27:40 +0800 +Subject: Bluetooth: Add support for Atheros [0cf3:3121] + +From: AceLan Kao + +commit 1ebd0b21ab14efb75950079840eac29afea2a26e upstream. + +Add support for the AR3012 chip. + +T: Bus=03 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#= 6 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0cf3 ProdID=3121 Rev=00.02 +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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: AceLan Kao +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -93,6 +93,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0489, 0xe04d) }, + { USB_DEVICE(0x04c5, 0x1330) }, + { USB_DEVICE(0x13d3, 0x3402) }, ++ { USB_DEVICE(0x0cf3, 0x3121) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -132,6 +133,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -162,6 +162,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-bcm20702a0-a.patch b/queue-3.4/bluetooth-add-support-for-bcm20702a0-a.patch new file mode 100644 index 00000000000..efcc624f102 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-bcm20702a0-a.patch @@ -0,0 +1,45 @@ +From 9ca39c6da78ca85b8e35fc8133da033b7ea27868 Mon Sep 17 00:00:00 2001 +From: Jeff Cook +Date: Fri, 9 Nov 2012 16:39:48 -0700 +Subject: Bluetooth: Add support for BCM20702A0 [0b05, 17b5] + +From: Jeff Cook + +commit 1ee3ff6110c16acfc915a79b1e3feb5013c41e75 upstream. + +Vendor-specific ID for BCM20702A0. +Support for bluetooth over Asus Wi-Fi GO!, included with Asus P8Z77-V +Deluxe. + +T: Bus=07 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 +D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0b05 ProdID=17b5 Rev=01.12 +S: Manufacturer=Broadcom Corp +S: Product=BCM20702A0 +S: SerialNumber=94DBC98AC113 +C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA +I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) +I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) +I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) + +Signed-off-by: Jeff Cook +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/btusb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -104,6 +104,7 @@ static struct usb_device_id btusb_table[ + { USB_DEVICE(0x0c10, 0x0000) }, + + /* Broadcom BCM20702A0 */ ++ { USB_DEVICE(0x0b05, 0x17b5) }, + { USB_DEVICE(0x04ca, 0x2003) }, + { USB_DEVICE(0x0489, 0xe042) }, + { USB_DEVICE(0x413c, 0x8197) }, diff --git a/queue-3.4/bluetooth-add-support-for-bcm20702a0-b.patch b/queue-3.4/bluetooth-add-support-for-bcm20702a0-b.patch new file mode 100644 index 00000000000..0b5ddd5c0f7 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-bcm20702a0-b.patch @@ -0,0 +1,44 @@ +From f1f1e271a236290e402aa439e2f67057d857ed21 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Mon, 2 Sep 2013 14:57:51 +0300 +Subject: Bluetooth: Add support for BCM20702A0 [0b05, 17cb] + +From: Raphael Kubo da Costa + +commit 38a172bef8c93ecbfd69715fd88396988e4073fd upstream. + +Yet another vendor specific ID for this chipset; this one for the ASUS +USB-BT400 Bluetooth 4.0 adapter. + +T: Bus=03 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 6 Spd=12 MxCh= 0 +D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0b05 ProdID=17cb Rev=01.12 +S: Manufacturer=Broadcom Corp +S: Product=BCM20702A0 +S: SerialNumber=000272C64400 +C: #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA +I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) +I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) +I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) + +Signed-off-by: Raphael Kubo da Costa +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/btusb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -108,6 +108,7 @@ static struct usb_device_id btusb_table[ + + /* Broadcom BCM20702A0 */ + { USB_DEVICE(0x0b05, 0x17b5) }, ++ { USB_DEVICE(0x0b05, 0x17cb) }, + { USB_DEVICE(0x04ca, 0x2003) }, + { USB_DEVICE(0x0489, 0xe042) }, + { USB_DEVICE(0x413c, 0x8197) }, diff --git a/queue-3.4/bluetooth-add-support-for-bcm20702a0.patch b/queue-3.4/bluetooth-add-support-for-bcm20702a0.patch new file mode 100644 index 00000000000..6bb0f113bc8 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-bcm20702a0.patch @@ -0,0 +1,66 @@ +From ea321ea69e56d0fe1b9cb316af88a5397de89b16 Mon Sep 17 00:00:00 2001 +From: Jaroslav Resler +Date: Tue, 11 Sep 2012 17:25:32 +0800 +Subject: Bluetooth: Add support for BCM20702A0 [04ca, 2003] + +From: Jaroslav Resler + +commit 0c1abbd1aa0416258881c303a88e618cbca0759c upstream. + +Add another vendor specific ID for BCM20702A0. + +output of usb-devices: +T: Bus=01 Lev=02 Prnt=02 Port=03 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=04ca ProdID=2003 Rev= 1.12 +S: Manufacturer=Broadcom Corp +S: Product=BCM20702A0 +S: SerialNumber=446D57861623 +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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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 +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: Cho, Yu-Chen +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/btusb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -104,6 +104,7 @@ static struct usb_device_id btusb_table[ + { USB_DEVICE(0x0c10, 0x0000) }, + + /* Broadcom BCM20702A0 */ ++ { USB_DEVICE(0x04ca, 0x2003) }, + { USB_DEVICE(0x0489, 0xe042) }, + { USB_DEVICE(0x413c, 0x8197) }, + diff --git a/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-a.patch b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-a.patch new file mode 100644 index 00000000000..4ecc31921ac --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-a.patch @@ -0,0 +1,57 @@ +From ead759f15413ee133cdbedea1383f34577303934 Mon Sep 17 00:00:00 2001 +From: AceLan Kao +Date: Thu, 3 Jan 2013 12:25:00 +0800 +Subject: Bluetooth: Add support for Foxconn / Hon Hai [0489:e056] + +From: AceLan Kao + +commit 2582d529c44d12502a700f1c3db062b9f44679bc upstream. + +Add support for the AR9462 chip + +T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0489 ProdID=e056 Rev=00.01 +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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: AceLan Kao +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -86,6 +86,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0489, 0xe057) }, + { USB_DEVICE(0x13d3, 0x3393) }, + { USB_DEVICE(0x0489, 0xe04e) }, ++ { USB_DEVICE(0x0489, 0xe056) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -118,6 +119,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -152,6 +152,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-ar5bbu22-0489-e03c.patch b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-ar5bbu22-0489-e03c.patch new file mode 100644 index 00000000000..fa0c683cf0b --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-ar5bbu22-0489-e03c.patch @@ -0,0 +1,91 @@ +From cf0c2375d258e829777ae648500f6a6eeaecce5d Mon Sep 17 00:00:00 2001 +From: Michael Gruetzner +Date: Wed, 2 May 2012 22:33:40 +0200 +Subject: Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C + +From: Michael Gruetzner + +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 +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + 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 +@@ -87,6 +87,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 */ + }; + +@@ -109,6 +112,9 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .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 +@@ -151,6 +151,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 }, diff --git a/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-b.patch b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-b.patch new file mode 100644 index 00000000000..adca24b4839 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai-b.patch @@ -0,0 +1,60 @@ +From 64bb65c2cc9b45e88aa38d235e9af30e70c7e01f Mon Sep 17 00:00:00 2001 +From: Noguchi Kazutosi +Date: Sun, 24 Mar 2013 23:41:10 +0900 +Subject: Bluetooth: Add support for Foxconn/Hon Hai [0489:e04d] + +From: Noguchi Kazutosi + +commit 0fc110f4e4f569e12c472f73f0af485e05631403 upstream. + +Add support for the AR3012 chip. + +T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=03 Dev#= 21 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0489 ProdID=e04d Rev=00.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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: Noguchi Kazutosi +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -90,6 +90,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x13d3, 0x3393) }, + { USB_DEVICE(0x0489, 0xe04e) }, + { USB_DEVICE(0x0489, 0xe056) }, ++ { USB_DEVICE(0x0489, 0xe04d) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -126,6 +127,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -156,6 +156,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai.patch b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai.patch new file mode 100644 index 00000000000..05dba3bd72d --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-foxconn-hon-hai.patch @@ -0,0 +1,57 @@ +From 2647584823849845f580e55c320826957cd00057 Mon Sep 17 00:00:00 2001 +From: AceLan Kao +Date: Thu, 3 Jan 2013 12:24:59 +0800 +Subject: Bluetooth: Add support for Foxconn / Hon Hai [0489:e04e] + +From: AceLan Kao + +commit 3a61eda81ebcfc006ebb1496764299d53e5bf67f upstream. + +Add support for the AR9462 chip + +T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0489 ProdID=e04e Rev=00.02 +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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: AceLan Kao +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -85,6 +85,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0930, 0x0219) }, + { USB_DEVICE(0x0489, 0xe057) }, + { USB_DEVICE(0x13d3, 0x3393) }, ++ { USB_DEVICE(0x0489, 0xe04e) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -116,6 +117,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -151,6 +151,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-gc-wb300d-pcie-to-ath3k.patch b/queue-3.4/bluetooth-add-support-for-gc-wb300d-pcie-to-ath3k.patch new file mode 100644 index 00000000000..8282b16bf68 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-gc-wb300d-pcie-to-ath3k.patch @@ -0,0 +1,75 @@ +From 5e35e9063b109097ad6663786bafb6e2496d91bf Mon Sep 17 00:00:00 2001 +From: Daniel Schaal +Date: Sat, 29 Dec 2012 11:14:34 +0100 +Subject: Bluetooth: Add support for GC-WB300D PCIe [04ca:3006] to ath3k. + +From: Daniel Schaal + +commit 2c262b2a5235b7f5b18d4d58394511f76371d7cb upstream. + +T: Bus=02 Lev=02 Prnt=02 Port=06 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=04ca ProdID=3006 Rev= 0.02 +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: Daniel Schaal +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -79,6 +79,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0CF3, 0x817a) }, + { USB_DEVICE(0x13d3, 0x3375) }, + { USB_DEVICE(0x04CA, 0x3005) }, ++ { USB_DEVICE(0x04CA, 0x3006) }, + { USB_DEVICE(0x13d3, 0x3362) }, + { USB_DEVICE(0x0CF3, 0xE004) }, + { USB_DEVICE(0x0930, 0x0219) }, +@@ -109,6 +110,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0CF3, 0x817a), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -145,6 +145,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0cf3, 0x817a), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, diff --git a/queue-3.4/bluetooth-add-support-for-imc-networks.patch b/queue-3.4/bluetooth-add-support-for-imc-networks.patch new file mode 100644 index 00000000000..19b3670aa45 --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-imc-networks.patch @@ -0,0 +1,57 @@ +From 32d938cda6d011b17856bc92f53bfc82bfcfee1b Mon Sep 17 00:00:00 2001 +From: AceLan Kao +Date: Tue, 11 Dec 2012 11:41:20 +0800 +Subject: Bluetooth: Add support for IMC Networks [13d3:3393] + +From: AceLan Kao + +commit eed307e290b96636def331375e065aca43f9069a upstream. + +Add support for the AR9462 chip + +T: Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=13d3 ProdID=3393 Rev=00.01 +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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: AceLan Kao +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -83,6 +83,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0CF3, 0xE004) }, + { USB_DEVICE(0x0930, 0x0219) }, + { USB_DEVICE(0x0489, 0xe057) }, ++ { USB_DEVICE(0x13d3, 0x3393) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -112,6 +113,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -149,6 +149,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-add-support-for-mediatek-bluetooth-device.patch b/queue-3.4/bluetooth-add-support-for-mediatek-bluetooth-device.patch new file mode 100644 index 00000000000..0c35463730d --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-mediatek-bluetooth-device.patch @@ -0,0 +1,70 @@ +From ff98736cbbbeb9087d4e5d7cb89e05c3e8bd01d6 Mon Sep 17 00:00:00 2001 +From: "Cho, Yu-Chen" +Date: Tue, 4 Jun 2013 21:40:26 +0800 +Subject: Bluetooth: Add support for Mediatek Bluetooth device [0e8d:763f] + +From: "Cho, Yu-Chen" + +commit ff98736cbbbeb9087d4e5d7cb89e05c3e8bd01d6 upstream. + +commit 178c059e7640aa8e50213400c6f3dde00189d979 upstream. + +This patch adds support for Mediatek Bluetooth device + +T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 +D: Ver= 2.01 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0e8d ProdID=763f Rev= 1.00 +S: Manufacturer=MediaTek +S: Product=BT +S: SerialNumber=1.0 +C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=450mA +A: FirstIf#= 0 IfCount= 2 Cls=ff(vend.) Sub=ff Prot=ff +I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=125us +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us +E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms +E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms +I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms +E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms +I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms +E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms +I: If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms +E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms +I: If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms +E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms +I: If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms +E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms +I: If#= 1 Alt= 6 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) +E: Ad=03(O) Atr=01(Isoc) MxPS= 63 Ivl=1ms +E: Ad=83(I) Atr=01(Isoc) MxPS= 63 Ivl=1ms + +Signed-off-by: Cho, Yu-Chen +Signed-off-by: Gustavo Padovan +Signed-off-by: John W. Linville +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/btusb.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -63,6 +63,9 @@ static struct usb_device_id btusb_table[ + /* Apple-specific (Broadcom) devices */ + { USB_VENDOR_AND_INTERFACE_INFO(0x05ac, 0xff, 0x01, 0x01) }, + ++ /* MediaTek MT76x0E */ ++ { USB_DEVICE(0x0e8d, 0x763f) }, ++ + /* Broadcom SoftSailing reporting vendor specific */ + { USB_DEVICE(0x0a5c, 0x21e1) }, + diff --git a/queue-3.4/bluetooth-add-support-for-sony-vaio-t-series.patch b/queue-3.4/bluetooth-add-support-for-sony-vaio-t-series.patch new file mode 100644 index 00000000000..5d6b26791fa --- /dev/null +++ b/queue-3.4/bluetooth-add-support-for-sony-vaio-t-series.patch @@ -0,0 +1,85 @@ +From 748e7f2af936e2811c49fe0d2bbdcbeb1ebcd5bc Mon Sep 17 00:00:00 2001 +From: Yevgeniy Melnichuk +Date: Tue, 7 Aug 2012 19:48:10 +0530 +Subject: Bluetooth: Add support for Sony Vaio T-Series + +From: Yevgeniy Melnichuk + +commit bc21fde2d549d1cb1ebef04016eb7affa43bb5c1 upstream. + +Add Sony Vaio T-Series Bluetooth Module( 0x489:0xE036) to +the blacklist of btusb module and add it to the ath3k module. + +output of cat /sys/kernel/debug/usb/devices + +T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0489 ProdID=e036 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: Yevgeniy Melnichuk +Signed-off-by: Mohammed Shafi Shajakhan +Acked-by: Marcel Holtmann +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -89,6 +89,7 @@ static struct usb_device_id ath3k_table[ + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C) }, ++ { USB_DEVICE(0x0489, 0xE036) }, + + { } /* Terminating entry */ + }; +@@ -114,6 +115,7 @@ static struct usb_device_id ath3k_blist_ + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xE036), .driver_info = BTUSB_ATH3012 }, + + { } /* Terminating entry */ + }; +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -153,6 +153,7 @@ static struct usb_device_id blacklist_ta + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0489, 0xe036), .driver_info = BTUSB_ATH3012 }, + + /* Broadcom BCM2035 */ + { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU }, diff --git a/queue-3.4/bluetooth-add-usb_vendor_and_interface_info-for-broadcom-foxconn.patch b/queue-3.4/bluetooth-add-usb_vendor_and_interface_info-for-broadcom-foxconn.patch new file mode 100644 index 00000000000..cd290123e03 --- /dev/null +++ b/queue-3.4/bluetooth-add-usb_vendor_and_interface_info-for-broadcom-foxconn.patch @@ -0,0 +1,33 @@ +From 3a5a8c3f40090ff66c7738e0ebff8d61a5a9b318 Mon Sep 17 00:00:00 2001 +From: Gustavo Padovan +Date: Wed, 15 Aug 2012 01:38:11 -0300 +Subject: Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn + +From: Gustavo Padovan + +commit ee66401bb94b1f2ce51089c341dcdd25d26ae631 upstream. + +Foxconn devices has a vendor specific class of device, we will match them +differently now. + +Signed-off-by: Gustavo Padovan +[bwh: Backported to 3.2: adjust context] +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/btusb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -108,7 +108,7 @@ static struct usb_device_id btusb_table[ + { USB_DEVICE(0x413c, 0x8197) }, + + /* Foxconn - Hon Hai */ +- { USB_DEVICE(0x0489, 0xe033) }, ++ { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) }, + + /*Broadcom devices with vendor specific id */ + { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01) }, diff --git a/queue-3.4/bluetooth-ath3k-add-support-for-fujitsu-lifebook-uh5x2.patch b/queue-3.4/bluetooth-ath3k-add-support-for-fujitsu-lifebook-uh5x2.patch new file mode 100644 index 00000000000..8bf8d966a5f --- /dev/null +++ b/queue-3.4/bluetooth-ath3k-add-support-for-fujitsu-lifebook-uh5x2.patch @@ -0,0 +1,62 @@ +From fb2e4631a7e23c37b9e2e7b2fd776231bbfc39d4 Mon Sep 17 00:00:00 2001 +From: Thomas Loo +Date: Wed, 3 Jul 2013 02:53:54 +0200 +Subject: Bluetooth: ath3k: Add support for Fujitsu Lifebook UH5x2 [04c5:1330] + +From: Thomas Loo + +commit fb2e4631a7e23c37b9e2e7b2fd776231bbfc39d4 upstream. + +commit 84eb2ae1807dd1467bf6f500fc69ae61f1907b75 upstream. + +The Fujitsu Lifebook UH552/UH572 ships with a Qualcomm AR9462/AR3012 +WLAN/BT-Combo card. +Add device ID to the ath3k driver to enable the bluetooth side of things. +Patch against v3.10. + +T: Bus=03 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=04c5 ProdID=1330 Rev=00.02 +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 +I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb + +Signed-off-by: Thomas Loo +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -91,6 +91,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0489, 0xe04e) }, + { USB_DEVICE(0x0489, 0xe056) }, + { USB_DEVICE(0x0489, 0xe04d) }, ++ { USB_DEVICE(0x04c5, 0x1330) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -128,6 +129,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -160,6 +160,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-ath3k-add-support-for-id-0x13d3-0x3402.patch b/queue-3.4/bluetooth-ath3k-add-support-for-id-0x13d3-0x3402.patch new file mode 100644 index 00000000000..084461b5f7d --- /dev/null +++ b/queue-3.4/bluetooth-ath3k-add-support-for-id-0x13d3-0x3402.patch @@ -0,0 +1,59 @@ +From ba1251e87fc4643d7e3d75ef5c1ccf09b2a5e626 Mon Sep 17 00:00:00 2001 +From: Sujith Manoharan +Date: Mon, 15 Jul 2013 09:29:03 +0530 +Subject: Bluetooth: ath3k: Add support for ID 0x13d3/0x3402 + +From: Sujith Manoharan + +commit 5b77a1f3d7b7360dc2b7c6d2188d39b9f8432907 upstream. + +T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=13d3 ProdID=3402 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 + +Bug: https://bugzilla.kernel.org/show_bug.cgi?id=59701 + +Signed-off-by: Sujith Manoharan +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -92,6 +92,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x0489, 0xe056) }, + { USB_DEVICE(0x0489, 0xe04d) }, + { USB_DEVICE(0x04c5, 0x1330) }, ++ { USB_DEVICE(0x13d3, 0x3402) }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE02C) }, +@@ -130,6 +131,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU22 with sflash firmware */ + { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -161,6 +161,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, + + /* Atheros AR5BBU12 with sflash firmware */ + { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/bluetooth-device-04ca-3008-should-use-ath3k.patch b/queue-3.4/bluetooth-device-04ca-3008-should-use-ath3k.patch new file mode 100644 index 00000000000..6fba734ebb8 --- /dev/null +++ b/queue-3.4/bluetooth-device-04ca-3008-should-use-ath3k.patch @@ -0,0 +1,76 @@ +From 624e808fcb1fd3f5a1987d08a9b868fff592e066 Mon Sep 17 00:00:00 2001 +From: Sergio Cambra +Date: Thu, 10 Jan 2013 01:06:55 +0100 +Subject: Bluetooth device 04ca:3008 should use ath3k + +From: Sergio Cambra + +commit f4d6f7dce71a5da93da50272ff1670bf2f1146b1 upstream. + +Output of /sys/kernel/debug/usb/devices +T: Bus=03 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 6 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=04ca ProdID=3008 Rev= 0.02 +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: Sergio Cambra +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -80,6 +80,7 @@ static struct usb_device_id ath3k_table[ + { USB_DEVICE(0x13d3, 0x3375) }, + { USB_DEVICE(0x04CA, 0x3005) }, + { USB_DEVICE(0x04CA, 0x3006) }, ++ { USB_DEVICE(0x04CA, 0x3008) }, + { USB_DEVICE(0x13d3, 0x3362) }, + { USB_DEVICE(0x0CF3, 0xE004) }, + { USB_DEVICE(0x0930, 0x0219) }, +@@ -113,6 +114,7 @@ static struct usb_device_id ath3k_blist_ + { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -146,6 +146,7 @@ static struct usb_device_id blacklist_ta + { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, diff --git a/queue-3.4/bluetooth-device-0cf3-3008-should-map-ar-3012.patch b/queue-3.4/bluetooth-device-0cf3-3008-should-map-ar-3012.patch new file mode 100644 index 00000000000..b0aecfee2e4 --- /dev/null +++ b/queue-3.4/bluetooth-device-0cf3-3008-should-map-ar-3012.patch @@ -0,0 +1,78 @@ +From 293665035a7021f3b2bd0c1eb7b40603d533eb4b Mon Sep 17 00:00:00 2001 +From: Sunguk Lee +Date: Tue, 12 Mar 2013 04:41:58 +0900 +Subject: Bluetooth: Device 0cf3:3008 should map AR 3012 + +From: Sunguk Lee + +commit 94a32d10f47b637ae24b78b1ddc7ef0e8396fda4 upstream. + +T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 +D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 +P: Vendor=0cf3 ProdID=3008 Rev= 0.01 +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: Sunguk Lee +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 2 ++ + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 3 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -75,6 +75,7 @@ static struct usb_device_id ath3k_table[ + /* Atheros AR3012 with sflash firmware*/ + { USB_DEVICE(0x0CF3, 0x0036) }, + { USB_DEVICE(0x0CF3, 0x3004) }, ++ { USB_DEVICE(0x0CF3, 0x3008) }, + { USB_DEVICE(0x0CF3, 0x311D) }, + { USB_DEVICE(0x0CF3, 0x817a) }, + { USB_DEVICE(0x13d3, 0x3375) }, +@@ -110,6 +111,7 @@ static struct usb_device_id ath3k_blist_ + /* Atheros AR3012 with sflash firmware*/ + { USB_DEVICE(0x0CF3, 0x0036), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x311D), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0CF3, 0x817a), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -141,6 +141,7 @@ static struct usb_device_id blacklist_ta + /* Atheros 3012 with sflash firmware */ + { USB_DEVICE(0x0cf3, 0x0036), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, ++ { USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x817a), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, diff --git a/queue-3.4/bluetooth-fix-invalid-length-check-in-l2cap_information_rsp.patch b/queue-3.4/bluetooth-fix-invalid-length-check-in-l2cap_information_rsp.patch new file mode 100644 index 00000000000..8413ceb1082 --- /dev/null +++ b/queue-3.4/bluetooth-fix-invalid-length-check-in-l2cap_information_rsp.patch @@ -0,0 +1,50 @@ +From 3f6fa3d489e127ca5a5b298eabac3ff5dbe0e112 Mon Sep 17 00:00:00 2001 +From: Jaganath Kanakkassery +Date: Fri, 21 Jun 2013 19:55:11 +0530 +Subject: Bluetooth: Fix invalid length check in l2cap_information_rsp() + +From: Jaganath Kanakkassery + +commit 3f6fa3d489e127ca5a5b298eabac3ff5dbe0e112 upstream. + +The length check is invalid since the length varies with type of +info response. + +This was introduced by the commit cb3b3152b2f5939d67005cff841a1ca748b19888 + +Because of this, l2cap info rsp is not handled and command reject is sent. + +> ACL data: handle 11 flags 0x02 dlen 16 + L2CAP(s): Info rsp: type 2 result 0 + Extended feature mask 0x00b8 + Enhanced Retransmission mode + Streaming mode + FCS Option + Fixed Channels +< ACL data: handle 11 flags 0x00 dlen 10 + L2CAP(s): Command rej: reason 0 + Command not understood + +Cc: stable@vger.kernel.org +Signed-off-by: Jaganath Kanakkassery +Signed-off-by: Chan-Yeol Park +Acked-by: Johan Hedberg +Signed-off-by: Gustavo Padovan +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + net/bluetooth/l2cap_core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/bluetooth/l2cap_core.c ++++ b/net/bluetooth/l2cap_core.c +@@ -3445,7 +3445,7 @@ static inline int l2cap_move_channel_con + struct l2cap_move_chan_cfm_rsp *rsp = data; + u16 icid; + +- if (cmd_len != sizeof(*rsp)) ++ if (cmd_len < sizeof(*rsp)) + return -EPROTO; + + icid = le16_to_cpu(rsp->icid); diff --git a/queue-3.4/bluetooth-fix-missing-length-checks-for-l2cap-signalling-pdus.patch b/queue-3.4/bluetooth-fix-missing-length-checks-for-l2cap-signalling-pdus.patch new file mode 100644 index 00000000000..98f725f6cb7 --- /dev/null +++ b/queue-3.4/bluetooth-fix-missing-length-checks-for-l2cap-signalling-pdus.patch @@ -0,0 +1,290 @@ +From cb3b3152b2f5939d67005cff841a1ca748b19888 Mon Sep 17 00:00:00 2001 +From: Johan Hedberg +Date: Tue, 28 May 2013 13:46:30 +0300 +Subject: Bluetooth: Fix missing length checks for L2CAP signalling PDUs + +From: Johan Hedberg + +commit cb3b3152b2f5939d67005cff841a1ca748b19888 upstream. + +There has been code in place to check that the L2CAP length header +matches the amount of data received, but many PDU handlers have not been +checking that the data received actually matches that expected by the +specific PDU. This patch adds passing the length header to the specific +handler functions and ensures that those functions fail cleanly in the +case of an incorrect amount of data. + +Signed-off-by: Johan Hedberg +Signed-off-by: Gustavo Padovan +Signed-off-by: John W. Linville +[bwh: Backported to 3.2: + - Adjust context + - Move uses of *req below the new check in l2cap_connect_req] +Signed-off-by: Ben Hutchings +[wujg: Backported to 3.4: + - Adjust context + - Adjust l2cap_create_channel_rsp()'s parameters] +Signed-off-by: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman +--- + net/bluetooth/l2cap_core.c | 92 +++++++++++++++++++++++++++++++++------------ + 1 file changed, 69 insertions(+), 23 deletions(-) + +--- a/net/bluetooth/l2cap_core.c ++++ b/net/bluetooth/l2cap_core.c +@@ -2620,10 +2620,15 @@ done: + } + } + +-static inline int l2cap_command_rej(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static inline int l2cap_command_rej(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ u8 *data) + { + struct l2cap_cmd_rej_unk *rej = (struct l2cap_cmd_rej_unk *) data; + ++ if (cmd_len < sizeof(*rej)) ++ return -EPROTO; ++ + if (rej->reason != L2CAP_REJ_NOT_UNDERSTOOD) + return 0; + +@@ -2640,7 +2645,8 @@ static inline int l2cap_command_rej(stru + return 0; + } + +-static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static int l2cap_connect_req(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, u8 *data) + { + struct l2cap_conn_req *req = (struct l2cap_conn_req *) data; + struct l2cap_conn_rsp rsp; +@@ -2648,8 +2654,14 @@ static inline int l2cap_connect_req(stru + struct sock *parent, *sk = NULL; + int result, status = L2CAP_CS_NO_INFO; + +- u16 dcid = 0, scid = __le16_to_cpu(req->scid); +- __le16 psm = req->psm; ++ u16 dcid = 0, scid; ++ __le16 psm; ++ ++ if (cmd_len < sizeof(struct l2cap_conn_req)) ++ return -EPROTO; ++ ++ scid = __le16_to_cpu(req->scid); ++ psm = req->psm; + + BT_DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid); + +@@ -2770,7 +2782,9 @@ sendresp: + return 0; + } + +-static inline int l2cap_connect_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static int l2cap_connect_rsp(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ u8 *data) + { + struct l2cap_conn_rsp *rsp = (struct l2cap_conn_rsp *) data; + u16 scid, dcid, result, status; +@@ -2778,6 +2792,9 @@ static inline int l2cap_connect_rsp(stru + u8 req[128]; + int err; + ++ if (cmd_len < sizeof(*rsp)) ++ return -EPROTO; ++ + scid = __le16_to_cpu(rsp->scid); + dcid = __le16_to_cpu(rsp->dcid); + result = __le16_to_cpu(rsp->result); +@@ -2857,6 +2874,9 @@ static inline int l2cap_config_req(struc + struct l2cap_chan *chan; + int len; + ++ if (cmd_len < sizeof(*req)) ++ return -EPROTO; ++ + dcid = __le16_to_cpu(req->dcid); + flags = __le16_to_cpu(req->flags); + +@@ -2882,7 +2902,7 @@ static inline int l2cap_config_req(struc + + /* Reject if config buffer is too small. */ + len = cmd_len - sizeof(*req); +- if (len < 0 || chan->conf_len + len > sizeof(chan->conf_req)) { ++ if (chan->conf_len + len > sizeof(chan->conf_req)) { + l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP, + l2cap_build_conf_rsp(chan, rsp, + L2CAP_CONF_REJECT, flags), rsp); +@@ -2959,12 +2979,17 @@ unlock: + return 0; + } + +-static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static inline int l2cap_config_rsp(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ u8 *data) + { + struct l2cap_conf_rsp *rsp = (struct l2cap_conf_rsp *)data; + u16 scid, flags, result; + struct l2cap_chan *chan; +- int len = cmd->len - sizeof(*rsp); ++ int len = cmd_len - sizeof(*rsp); ++ ++ if (cmd_len < sizeof(*rsp)) ++ return -EPROTO; + + scid = __le16_to_cpu(rsp->scid); + flags = __le16_to_cpu(rsp->flags); +@@ -3066,7 +3091,9 @@ done: + return 0; + } + +-static inline int l2cap_disconnect_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static inline int l2cap_disconnect_req(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ u8 *data) + { + struct l2cap_disconn_req *req = (struct l2cap_disconn_req *) data; + struct l2cap_disconn_rsp rsp; +@@ -3074,6 +3101,9 @@ static inline int l2cap_disconnect_req(s + struct l2cap_chan *chan; + struct sock *sk; + ++ if (cmd_len != sizeof(*req)) ++ return -EPROTO; ++ + scid = __le16_to_cpu(req->scid); + dcid = __le16_to_cpu(req->dcid); + +@@ -3110,12 +3140,17 @@ static inline int l2cap_disconnect_req(s + return 0; + } + +-static inline int l2cap_disconnect_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static inline int l2cap_disconnect_rsp(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ u8 *data) + { + struct l2cap_disconn_rsp *rsp = (struct l2cap_disconn_rsp *) data; + u16 dcid, scid; + struct l2cap_chan *chan; + ++ if (cmd_len != sizeof(*rsp)) ++ return -EPROTO; ++ + scid = __le16_to_cpu(rsp->scid); + dcid = __le16_to_cpu(rsp->dcid); + +@@ -3142,11 +3177,16 @@ static inline int l2cap_disconnect_rsp(s + return 0; + } + +-static inline int l2cap_information_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static inline int l2cap_information_req(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ u8 *data) + { + struct l2cap_info_req *req = (struct l2cap_info_req *) data; + u16 type; + ++ if (cmd_len != sizeof(*req)) ++ return -EPROTO; ++ + type = __le16_to_cpu(req->type); + + BT_DBG("type 0x%4.4x", type); +@@ -3192,11 +3232,16 @@ static inline int l2cap_information_req( + return 0; + } + +-static inline int l2cap_information_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) ++static inline int l2cap_information_rsp(struct l2cap_conn *conn, ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ u8 *data) + { + struct l2cap_info_rsp *rsp = (struct l2cap_info_rsp *) data; + u16 type, result; + ++ if (cmd_len != sizeof(*rsp)) ++ return -EPROTO; ++ + type = __le16_to_cpu(rsp->type); + result = __le16_to_cpu(rsp->result); + +@@ -3282,11 +3327,12 @@ static inline int l2cap_create_channel_r + } + + static inline int l2cap_create_channel_rsp(struct l2cap_conn *conn, +- struct l2cap_cmd_hdr *cmd, void *data) ++ struct l2cap_cmd_hdr *cmd, u16 cmd_len, ++ void *data) + { + BT_DBG("conn %p", conn); + +- return l2cap_connect_rsp(conn, cmd, data); ++ return l2cap_connect_rsp(conn, cmd, cmd_len, data); + } + + static void l2cap_send_move_chan_rsp(struct l2cap_conn *conn, u8 ident, +@@ -3479,15 +3525,15 @@ static inline int l2cap_bredr_sig_cmd(st + + switch (cmd->code) { + case L2CAP_COMMAND_REJ: +- l2cap_command_rej(conn, cmd, data); ++ l2cap_command_rej(conn, cmd, cmd_len, data); + break; + + case L2CAP_CONN_REQ: +- err = l2cap_connect_req(conn, cmd, data); ++ err = l2cap_connect_req(conn, cmd, cmd_len, data); + break; + + case L2CAP_CONN_RSP: +- err = l2cap_connect_rsp(conn, cmd, data); ++ err = l2cap_connect_rsp(conn, cmd, cmd_len, data); + break; + + case L2CAP_CONF_REQ: +@@ -3495,15 +3541,15 @@ static inline int l2cap_bredr_sig_cmd(st + break; + + case L2CAP_CONF_RSP: +- err = l2cap_config_rsp(conn, cmd, data); ++ err = l2cap_config_rsp(conn, cmd, cmd_len, data); + break; + + case L2CAP_DISCONN_REQ: +- err = l2cap_disconnect_req(conn, cmd, data); ++ err = l2cap_disconnect_req(conn, cmd, cmd_len, data); + break; + + case L2CAP_DISCONN_RSP: +- err = l2cap_disconnect_rsp(conn, cmd, data); ++ err = l2cap_disconnect_rsp(conn, cmd, cmd_len, data); + break; + + case L2CAP_ECHO_REQ: +@@ -3514,11 +3560,11 @@ static inline int l2cap_bredr_sig_cmd(st + break; + + case L2CAP_INFO_REQ: +- err = l2cap_information_req(conn, cmd, data); ++ err = l2cap_information_req(conn, cmd, cmd_len, data); + break; + + case L2CAP_INFO_RSP: +- err = l2cap_information_rsp(conn, cmd, data); ++ err = l2cap_information_rsp(conn, cmd, cmd_len, data); + break; + + case L2CAP_CREATE_CHAN_REQ: +@@ -3526,7 +3572,7 @@ static inline int l2cap_bredr_sig_cmd(st + break; + + case L2CAP_CREATE_CHAN_RSP: +- err = l2cap_create_channel_rsp(conn, cmd, data); ++ err = l2cap_create_channel_rsp(conn, cmd, cmd_len, data); + break; + + case L2CAP_MOVE_CHAN_REQ: diff --git a/queue-3.4/bluetooth-support-ar3011-in-acer-iconia-tab-w500.patch b/queue-3.4/bluetooth-support-ar3011-in-acer-iconia-tab-w500.patch new file mode 100644 index 00000000000..04947ceb6f1 --- /dev/null +++ b/queue-3.4/bluetooth-support-ar3011-in-acer-iconia-tab-w500.patch @@ -0,0 +1,62 @@ +From e9fb4c8ec396f454790247cbff1d30c4f35dba63 Mon Sep 17 00:00:00 2001 +From: Marek Vasut +Date: Fri, 8 Jun 2012 14:32:50 +0200 +Subject: Bluetooth: Support AR3011 in Acer Iconia Tab W500 + +From: Marek Vasut + +commit 6eda541d12116b4772baa09d3e8d7b0389df4289 upstream. + +Acer used this chip connected via USB: + +Bus 005 Device 005: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 1.10 + bDeviceClass 224 Wireless + bDeviceSubClass 1 Radio Frequency + bDeviceProtocol 1 Bluetooth + bMaxPacketSize0 64 + idVendor 0x0cf3 Atheros Communications, Inc. + idProduct 0x3005 AR3011 Bluetooth + bcdDevice 0.01 + iManufacturer 0 + iProduct 0 + iSerial 0 + bNumConfigurations 1 + +Signed-off-by: Marek Vasut +Cc: Gustavo Padovan +Cc: Johan Hedberg +Cc: Marcel Holtmann +Signed-off-by: Gustavo Padovan +Signed-off-by: Ben Hutchings +Cc: Jianguo Wu +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/bluetooth/ath3k.c | 1 + + drivers/bluetooth/btusb.c | 1 + + 2 files changed, 2 insertions(+) + +--- a/drivers/bluetooth/ath3k.c ++++ b/drivers/bluetooth/ath3k.c +@@ -63,6 +63,7 @@ static struct usb_device_id ath3k_table[ + + /* Atheros AR3011 with sflash firmware*/ + { USB_DEVICE(0x0CF3, 0x3002) }, ++ { USB_DEVICE(0x0CF3, 0xE019) }, + { USB_DEVICE(0x13d3, 0x3304) }, + { USB_DEVICE(0x0930, 0x0215) }, + { USB_DEVICE(0x0489, 0xE03D) }, +--- a/drivers/bluetooth/btusb.c ++++ b/drivers/bluetooth/btusb.c +@@ -127,6 +127,7 @@ static struct usb_device_id blacklist_ta + + /* Atheros 3011 with sflash firmware */ + { USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE }, ++ { USB_DEVICE(0x0cf3, 0xe019), .driver_info = BTUSB_IGNORE }, + { USB_DEVICE(0x13d3, 0x3304), .driver_info = BTUSB_IGNORE }, + { USB_DEVICE(0x0930, 0x0215), .driver_info = BTUSB_IGNORE }, + { USB_DEVICE(0x0489, 0xe03d), .driver_info = BTUSB_IGNORE }, diff --git a/queue-3.4/series b/queue-3.4/series index 4e25d3157fc..423367b5acb 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -15,3 +15,28 @@ usb-serial-option-add-support-for-novatel-e371-pcie-card.patch usb-io_ti-fix-firmware-download-on-big-endian-machines-part-2.patch usb-avoid-runtime-suspend-loops-for-hcds-that-can-t-handle-suspend-resume.patch mm-rmap-fix-use-after-free-in-__put_anon_vma.patch +bluetooth-fix-missing-length-checks-for-l2cap-signalling-pdus.patch +bluetooth-fix-invalid-length-check-in-l2cap_information_rsp.patch +bluetooth-support-ar3011-in-acer-iconia-tab-w500.patch +bluetooth-add-support-for-atheros-0930-0219.patch +bluetooth-add-support-for-atheros-0489-e057.patch +bluetooth-add-support-for-foxconn-hon-hai-ar5bbu22-0489-e03c.patch +bluetooth-add-support-for-sony-vaio-t-series.patch +bluetooth-add-usb_vendor_and_interface_info-for-broadcom-foxconn.patch +bluetooth-add-support-for-bcm20702a0.patch +bluetooth-add-support-for-bcm20702a0-a.patch +bluetooth-add-support-for-imc-networks.patch +bluetooth-add-support-for-gc-wb300d-pcie-to-ath3k.patch +bluetooth-add-support-for-foxconn-hon-hai.patch +bluetooth-add-support-for-foxconn-hon-hai-a.patch +bluetooth-device-04ca-3008-should-use-ath3k.patch +bluetooth-add-support-for-atheros-04ca-3004-device-to-ath3k.patch +bluetooth-device-0cf3-3008-should-map-ar-3012.patch +bluetooth-add-support-for-foxconn-hon-hai-b.patch +bluetooth-add-support-for-mediatek-bluetooth-device.patch +bluetooth-ath3k-add-support-for-fujitsu-lifebook-uh5x2.patch +bluetooth-ath3k-add-support-for-id-0x13d3-0x3402.patch +bluetooth-add-support-for-atheros.patch +bluetooth-add-support-for-atheros-a.patch +bluetooth-add-a-new-pid-vid-0cf3-e005-for-ar3012.patch +bluetooth-add-support-for-bcm20702a0-b.patch