<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/bluetooth, branch v5.11</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v5.11</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.11'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2020-12-07T15:01:54Z</updated>
<entry>
<title>Bluetooth: btusb: Add workaround for remote-wakeup issues with Barrot 8041a02 fake CSR controllers</title>
<updated>2020-12-07T15:01:54Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2020-12-05T15:02:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0671c0662383eefc272e107364cba7fe229dee44'/>
<id>urn:sha1:0671c0662383eefc272e107364cba7fe229dee44</id>
<content type='text'>
With the recent btusb change to detect and deal with more fake CSR
controllers, I decided to see if fake CSR controllers with Barrot
8041a02 chips would now work.

After much experimentation I came to the conclusion that it works, if I
have autosuspend enabled initially and then disable it after the device
has suspended at least once. Yes this is very weird, but I've tried many
things, like manually clearing the remote-wakeup feature. Doing a
runtime-resume + runtime suspend is the only way to get the receiver
to actually report received data (and/or pairing info) through its
bulk rx endpoint.

But the funkyness of the bulk-endpoint does not stop there, I mainly
found out about this problem, because with autosuspend enabled
(which usually ensures the suspend at least once condition is met),
the receiver stops reporting received data through its bulk rx endpoint
as soon as autosuspend kicks in. So I initially just disabled
autosuspend, but then the receiver does not work at all.

This was with a fake CSR receiver with a Barrot 8041a02 chip with a
bcdDevice value of 0x8891, a lmp_subver of 0x1012, a hci_rev of 0x0810
and a hci_ver of BLUETOOTH_VER_4_0.

Summarizing this specific fake CSR receiver has the following 2 issues:

1. The bulk rx endpoint will never report any data unless
the device was suspended at least once.

2. They will not wakeup when autosuspended and receiving data on their
bulk rx endpoint from e.g. a keyboard or mouse (IOW remote-wakeup support
is broken for the bulk endpoint).

Add a workaround for 1. which enables runtime-suspend, force-suspends
the hci and then wakes-it up by disabling runtime-suspend again.

Add a workaround for 2. which clears the hci's can_wake flag, this way
the hci will still be autosuspended when it is not open.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btusb: Fix detection of some fake CSR controllers with a bcdDevice val of 0x0134</title>
<updated>2020-12-07T15:01:50Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2020-12-05T15:02:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d74e0ae7e03032b47b8631cc1e52a7ae1ce988c0'/>
<id>urn:sha1:d74e0ae7e03032b47b8631cc1e52a7ae1ce988c0</id>
<content type='text'>
Commit cde1a8a99287 ("Bluetooth: btusb: Fix and detect most of the
Chinese Bluetooth controllers") made the detection of fake controllers
more generic fixing it for much of the newer fakes / clones.

But this does not work for a fake CSR controller with a bcdDevice
value of 0x0134, which was correctly identified as fake before
this change.

Add an extra check for this special case, checking for a combination
of a bcdDevice value of 0x0134, together with a lmp_subver of 0x0c5c
and a hci_ver of BLUETOOTH_VER_2_0.

The chip inside this fake dongle is marked as with "clockwise cw6629d".

Fixes: cde1a8a99287 ("Bluetooth: btusb: Fix and detect most of the Chinese Bluetooth controllers")
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btusb: support download nvm with different board id for wcn6855</title>
<updated>2020-12-07T15:01:21Z</updated>
<author>
<name>Tim Jiang</name>
<email>tjiang@codeaurora.org</email>
</author>
<published>2020-12-03T04:57:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ef2862a1db8fedb7860048110ecf6512ab672e10'/>
<id>urn:sha1:ef2862a1db8fedb7860048110ecf6512ab672e10</id>
<content type='text'>
we define many nvm files for wcn6855 btsoc and host driver
should find the correct nvm file based on board ID and then
download it.

Signed-off-by: Tim Jiang &lt;tjiang@codeaurora.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btusb: Map Typhoon peak controller to BTUSB_INTEL_NEWGEN</title>
<updated>2020-12-07T15:01:18Z</updated>
<author>
<name>Kiran K</name>
<email>kiran.k@intel.com</email>
</author>
<published>2020-11-19T11:39:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=10c24231ab670001593fd0e19335e12c35d3dc64'/>
<id>urn:sha1:10c24231ab670001593fd0e19335e12c35d3dc64</id>
<content type='text'>
Map Typhoon peak Intel controller to BTUSB_INTEL_NEWGEN

Signed-off-by: Kiran K &lt;kiran.k@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btusb: Helper function to download firmware to Intel adapters</title>
<updated>2020-12-07T15:01:15Z</updated>
<author>
<name>Kiran K</name>
<email>kiran.k@intel.com</email>
</author>
<published>2020-11-19T11:39:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3f43a37838d5b5d00419b167a22b9b0dc4c33732'/>
<id>urn:sha1:3f43a37838d5b5d00419b167a22b9b0dc4c33732</id>
<content type='text'>
Define a helper function to download firmware for new generation Intel
controllers

Signed-off-by: Kiran K &lt;kiran.k@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btusb: Define a function to construct firmware filename</title>
<updated>2020-12-07T15:01:11Z</updated>
<author>
<name>Kiran K</name>
<email>kiran.k@intel.com</email>
</author>
<published>2020-11-19T11:39:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9a93b8b8eee4ac971a1ac120a2be7a66b7fa5b68'/>
<id>urn:sha1:9a93b8b8eee4ac971a1ac120a2be7a66b7fa5b68</id>
<content type='text'>
Define a new function to construct firmware/ddc filename for new
generation Intel controllers

Signed-off-by: Kiran K &lt;kiran.k@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btusb: Add *setup* function for new generation Intel controllers</title>
<updated>2020-12-07T15:01:07Z</updated>
<author>
<name>Kiran K</name>
<email>kiran.k@intel.com</email>
</author>
<published>2020-11-19T11:39:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0a3c1d45eca09ca2fc4b84b6c42ebec7ff938df0'/>
<id>urn:sha1:0a3c1d45eca09ca2fc4b84b6c42ebec7ff938df0</id>
<content type='text'>
Define a new  *setup* function for new generation Intel controllers

Signed-off-by: Kiran K &lt;kiran.k@intel.com&gt;
Signed-off-by: Amit K Bag &lt;amit.k.bag@intel.com&gt;
Signed-off-by: Raghuram Hegde &lt;raghuram.hegde@intel.com&gt;
Reviewed-by: Sathish Narasimman &lt;Sathish.Narasimman@intel.com&gt;
Reviewed-by: Chethan T N &lt;chethan.tumkur.narayan@intel.com&gt;
Reviewed-by: Srivatsa Ravishankar &lt;ravishankar.srivatsa@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btintel: Fix endianness issue for TLV version information</title>
<updated>2020-12-07T15:01:03Z</updated>
<author>
<name>Kiran K</name>
<email>kiran.k@intel.com</email>
</author>
<published>2020-11-19T11:39:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=66500bbc7d6b4915cae86d64c72591cb70698c9d'/>
<id>urn:sha1:66500bbc7d6b4915cae86d64c72591cb70698c9d</id>
<content type='text'>
do __le32_to_cpu to tlv data fields to make sure driver runs
correctly when running on big endian system.

Signed-off-by: Kiran K &lt;kiran.k@intel.com&gt;
Reviewed-by: Chethan T N &lt;chethan.tumkur.narayan@intel.com&gt;
Reviewed-by: Srivatsa Ravishankar &lt;ravishankar.srivatsa@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware()</title>
<updated>2020-12-07T15:00:12Z</updated>
<author>
<name>Jing Xiangfeng</name>
<email>jingxiangfeng@huawei.com</email>
</author>
<published>2020-11-17T02:43:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b73b5781a85c03113476f62346c390f0277baa4b'/>
<id>urn:sha1:b73b5781a85c03113476f62346c390f0277baa4b</id>
<content type='text'>
mtk_setup_firmware() misses to call release_firmware() in an error
path. Jump to free_fw to fix it.

Fixes: 737cd06072a7 ("Bluetooth: btmtksdio: fix up firmware download sequence")
Signed-off-by: Jing Xiangfeng &lt;jingxiangfeng@huawei.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware()</title>
<updated>2020-12-07T15:00:08Z</updated>
<author>
<name>Jing Xiangfeng</name>
<email>jingxiangfeng@huawei.com</email>
</author>
<published>2020-11-17T02:59:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d1e9d232e1e60fa63df1b836ec3ecba5abd3fa9d'/>
<id>urn:sha1:d1e9d232e1e60fa63df1b836ec3ecba5abd3fa9d</id>
<content type='text'>
btusb_mtk_setup_firmware() misses to call release_firmware() in an error
path. Jump to err_release_fw to fix it.

Fixes: f645125711c8 ("Bluetooth: btusb: fix up firmware download sequence")
Signed-off-by: Jing Xiangfeng &lt;jingxiangfeng@huawei.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
</feed>
