<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/bluetooth/btsdio.c, branch linux-4.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2018-03-04T15:28:21Z</updated>
<entry>
<title>Bluetooth: btsdio: Do not bind to non-removable BCM43341</title>
<updated>2018-03-04T15:28:21Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2017-11-29T19:29:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f64f863ab43f9560d7a7532d78e3d86cab8f181f'/>
<id>urn:sha1:f64f863ab43f9560d7a7532d78e3d86cab8f181f</id>
<content type='text'>
[ Upstream commit b4cdaba274247c9c841c6a682c08fa91fb3aa549 ]

BCM43341 devices soldered onto the PCB (non-removable) always (AFAICT)
use an UART connection for bluetooth. But they also advertise btsdio
support on their 3th sdio function, this causes 2 problems:

1) A non functioning BT HCI getting registered

2) Since the btsdio driver does not have suspend/resume callbacks,
mmc_sdio_pre_suspend will return -ENOSYS, causing mmc_pm_notify()
to react as if the SDIO-card is removed and since the slot is
marked as non-removable it will never get detected as inserted again.
Which results in wifi no longer working after a suspend/resume.

This commit fixes both by making btsdio ignore BCM43341 devices
when connected to a slot which is marked non-removable.

Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Use MD SET register for changing SDIO Type-B to Type-A</title>
<updated>2013-12-29T19:31:07Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2013-12-29T06:10:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bc7219709978b963bc6820717e140c15547a6dd9'/>
<id>urn:sha1:bc7219709978b963bc6820717e140c15547a6dd9</id>
<content type='text'>
The register for setting the SDIO card mode of a Type-B Bluetooth card
is called MD SET. The MD STAT register is used for reading the current
mode back.

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: Set HCI_QUIRK_RESET_ON_CLOSE for Socket SDIO cards</title>
<updated>2013-12-23T16:49:35Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2013-12-23T14:52:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=de8b582893b9eaa098e7efb385a484819657920b'/>
<id>urn:sha1:de8b582893b9eaa098e7efb385a484819657920b</id>
<content type='text'>
The Socket Bluetooth SDIO cards are branded versions of Toshiba SD-BT2
and they do not support sending HCI_Reset as first command. To make
this card work the HCI_QUIRK_RESET_ON_CLOSE quirk needs to be set
before registering the controller.

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: Add hdev parameter to hdev-&gt;send driver callback</title>
<updated>2013-10-11T13:28:03Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2013-10-11T13:19:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7bd8f09f69f8a190f9b8334a07bb0a9237612314'/>
<id>urn:sha1:7bd8f09f69f8a190f9b8334a07bb0a9237612314</id>
<content type='text'>
Instead of masking hdev inside the skb-&gt;dev parameter, hand it
directly to the driver as a parameter to hdev-&gt;send. This makes
the driver interface more clear and simpler.

This patch fixes all drivers to accept and handle the new parameter
of hdev-&gt;send callback. Special care has been taken for bpa10x
and btusb drivers that require having skb-&gt;dev set to hdev for
the URB transmit complete handlers.

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: Provide hdev parameter to hci_recv_frame() driver callback</title>
<updated>2013-10-11T07:45:34Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2013-10-10T23:52:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e1a26170692dc1e5fbe0ccd98ef86cc9fcd31a64'/>
<id>urn:sha1:e1a26170692dc1e5fbe0ccd98ef86cc9fcd31a64</id>
<content type='text'>
To avoid casting skb-&gt;dev into hdev, just let the drivers provide
the hdev directly when calling hci_recv_frame() function.

This patch also fixes up all drivers to provide the hdev.

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: Use devm_kzalloc in btsdio.c file</title>
<updated>2012-08-06T18:03:01Z</updated>
<author>
<name>Sachin Kamat</name>
<email>sachin.kamat@linaro.org</email>
</author>
<published>2012-07-27T07:08:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3a382772b51bbf55b23701746102bd75b9fe883f'/>
<id>urn:sha1:3a382772b51bbf55b23701746102bd75b9fe883f</id>
<content type='text'>
devm_kzalloc() eliminates the need to free memory explicitly
thereby saving some cleanup code.

Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo.padovan@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Remove hci_dev-&gt;driver_data</title>
<updated>2012-02-13T15:01:37Z</updated>
<author>
<name>David Herrmann</name>
<email>dh.herrmann@googlemail.com</email>
</author>
<published>2012-02-09T20:58:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=155961e8001719af6d87cbcc961111e8ce477843'/>
<id>urn:sha1:155961e8001719af6d87cbcc961111e8ce477843</id>
<content type='text'>
The linux device model provides dev_set/get_drvdata so we can use this
to save private driver data.
This also removes several unnecessary casts.

Signed-off-by: David Herrmann &lt;dh.herrmann@googlemail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Remove HCI-owner field</title>
<updated>2012-02-13T15:01:24Z</updated>
<author>
<name>David Herrmann</name>
<email>dh.herrmann@googlemail.com</email>
</author>
<published>2012-01-07T14:47:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e9b9cfa1575e37cb2dbb5534aeaaa16814228887'/>
<id>urn:sha1:e9b9cfa1575e37cb2dbb5534aeaaa16814228887</id>
<content type='text'>
After unregistering an hci_dev object a bluetooth driver does not have
any callbacks in the hci_dev structure left over. Therefore, there is no
need to keep a reference to the module.

Previously, we needed this to protect the hci-destruct callback.
However, this callback is no longer available so we do not need this
owner field, anymore.  Drivers now call hci_unregister_dev() and they
are done with the object.

Signed-off-by: David Herrmann &lt;dh.herrmann@googlemail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btsdio: Free driver data on SDIO shutdown</title>
<updated>2012-02-13T15:01:24Z</updated>
<author>
<name>David Herrmann</name>
<email>dh.herrmann@googlemail.com</email>
</author>
<published>2012-01-07T14:47:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dabbaab394d17ba1d1b55092d553e6e31a3d0afd'/>
<id>urn:sha1:dabbaab394d17ba1d1b55092d553e6e31a3d0afd</id>
<content type='text'>
Instead of waiting for the hdev object to get freed we now free the
private driver-internal data on SDIO shutdown. This allows us to remove
the obsolete hci-destruct callback and free our data object right away
after calling hci_unregister_dev(). The HCI-core does not call any
callbacks after this so we are never called again and can safely exit
the module.

Signed-off-by: David Herrmann &lt;dh.herrmann@googlemail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Support SDIO devices that are AMP controllers</title>
<updated>2010-10-12T15:44:51Z</updated>
<author>
<name>David Vrabel</name>
<email>david.vrabel@csr.com</email>
</author>
<published>2010-08-09T21:42:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fb3d8eb47ce377d6d7a8fc58b8046ea9eb376a28'/>
<id>urn:sha1:fb3d8eb47ce377d6d7a8fc58b8046ea9eb376a28</id>
<content type='text'>
Signed-off-by: David Vrabel &lt;david.vrabel@csr.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
</entry>
</feed>
