[3.0.y, 3.2.y, 3.4.y] Re: [PATCH 1/1] bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C

Jonathan Nieder
2012-05-29T12:28:05Z

Hi Ben and Greg,

Please consider

85d59726c5c6 Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C

for inclusion if appropriate in the 3.0.y, 3.2.y, and 3.4.y trees.

Michael Grützner wrote:

> 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.

I am guessing this is tested by Michael against 3.3.y.

I am wondering about one detail about the patch (please forgive my
ignorance):

[...]
> --- linux-3.3.4-vanilla/drivers/bluetooth/ath3k.c 2012-04-27 19:17:35.000000000 +0200
> +++ linux-3.3.4/drivers/bluetooth/ath3k.c 2012-04-30 01:29:47.081838667 +0200
> @@ -79,6 +79,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 */

This part makes sense and seems similar to what is done for other
Atheros bluetooth adaptors that need firmware loaded at run time, like
the AR3011.

> };
>
> @@ -95,6 +98,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 */

No other chip other than the AR3012 seems to add entries here. Could
you add a comment explaining why the AR5BBU22 is listed but not e.g.
the AR5BBU12?

> --- linux-3.3.4-vanilla/drivers/bluetooth/btusb.c 2012-04-27 19:17:35.000000000 +0200
> +++ linux-3.3.4/drivers/bluetooth/btusb.c 2012-04-30 01:31:49.302182281 +0200
> @@ -135,6 +135,9 @@ static struct usb_device_id blacklist_ta
> /* Atheros AR5BBU12 with sflash firmware */
> { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
>
> + /* Atheros AR5BBU22 with sflash firmware */
> + { USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 },
> +

Is the AR5BBU22 an AR3012?

Curious,
Jonathan