[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <A4990AB0-0D75-4943-AB32-86CF96FC577D@holtmann.org>
Date: Tue, 22 May 2018 09:03:10 +0200
From: Marcel Holtmann <marcel@...tmann.org>
To: Takashi Iwai <tiwai@...e.de>
Cc: Johan Hedberg <johan.hedberg@...il.com>,
Hans de Goede <hdegoede@...hat.com>,
BlueZ development <linux-bluetooth@...r.kernel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Bluetooth: Apply QCA Rome patches for some ATH3012 models
Hi Takashi,
> In commit f44cb4b19ed4 ("Bluetooth: btusb: Fix quirk for Atheros
> 1525/QCA6174") we tried to address the non-working Atheros BT devices
> by changing the quirk from BTUSB_ATH3012 to BTUSB_QCA_ROME. This made
> such devices working while it turned out to break other existing chips
> with the very same USB ID, hence it was reverted afterwards.
>
> This is another attempt to tackle the issue. The essential point to
> use BTUSB_QCA_ROME is to apply the btusb_setup_qca() and do RAM-
> patching. And the previous attempt failed because btusb_setup_qca()
> returns -ENODEV if the ROM version doesn't match with the expected
> ones. For some devices that have already the "correct" ROM versions,
> we may just skip the setup procedure and continue the rest.
>
> So, the first fix we'll need is to add a check of the ROM version in
> the function to skip the setup if the ROM version looks already sane,
> so that it can be applied for all ath devices.
>
> However, the world is a bit more complex than that simple solution.
> Since BTUSB_ATH3012 quirk checks the bcdDevice and bails out when it's
> 0x0001 at the beginning of probing, so the device probe always aborts
> here.
>
> In this patch, we add another check of ROM version again, and if the
> device needs patching, the probe continues. For that, a slight
> refactoring of btusb_qca_send_vendor_req() was required so that the
> probe function can pass usb_device pointer directly before allocating
> hci_dev stuff.
>
> Fixes: commit f44cb4b19ed4 ("Bluetooth: btusb: Fix quirk for Atheros 1525/QCA6174")
> Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=1082504
> Tested-by: Ivan Levshin <ivan.levshin@...rofocus.com>
> Signed-off-by: Takashi Iwai <tiwai@...e.de>
>
> ---
> drivers/bluetooth/btusb.c | 32 +++++++++++++++++++++++++-------
> 1 file changed, 25 insertions(+), 7 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel
Powered by blists - more mailing lists