<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/net/bluetooth/hci_request.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>2015-04-02T14:09:27Z</updated>
<entry>
<title>Bluetooth: Add second hci_request callback option for full skb</title>
<updated>2015-04-02T14:09:27Z</updated>
<author>
<name>Johan Hedberg</name>
<email>johan.hedberg@intel.com</email>
</author>
<published>2015-04-02T10:41:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e6214487492566b15ff24e97c6747bb2e5d9e040'/>
<id>urn:sha1:e6214487492566b15ff24e97c6747bb2e5d9e040</id>
<content type='text'>
This patch adds a second possible callback for HCI requests where the
callback will receive the full skb of the last successfully completed
HCI command. This API is useful for cases where we want to use a request
to read some data and the existing hci_event.c handlers do not store it
e.g. in the hci_dev struct.

The reason the patch is a bit bigger than just adding the new API is
because the hci_req_cmd_complete() functions required some refactoring
to enable it: now hci_req_cmd_complete() is simply used to request the
callback pointers if any, and the actual calling of them happens from a
single place at the end of hci_event_packet(). The reason for this is
that we need to pass the original skb (without any skb_pull, etc
modifications done to it) and it's simplest to keep track of it within
the hci_event_packet() function.

Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Refactor HCI request variables into own struct</title>
<updated>2015-03-30T21:20:53Z</updated>
<author>
<name>Johan Hedberg</name>
<email>johan.hedberg@intel.com</email>
</author>
<published>2015-03-30T20:21:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=db6e3e8d016823c6b0f773c70a69ce65807d8a44'/>
<id>urn:sha1:db6e3e8d016823c6b0f773c70a69ce65807d8a44</id>
<content type='text'>
In order to shrink the size of bt_skb_cb, this patch moves the HCI
request related variables into their own req_ctrl struct. Additionall
the L2CAP and HCI request structs are placed inside the same union since
they will never be used at the same time for the same skb.

Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Merge hdev-&gt;dbg_flags fields into hdev-&gt;dev_flags</title>
<updated>2015-03-13T17:28:36Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2015-03-13T17:20:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b7cb93e52839ee44959adabc17c2a17422e6bd4b'/>
<id>urn:sha1:b7cb93e52839ee44959adabc17c2a17422e6bd4b</id>
<content type='text'>
With the extension of hdev-&gt;dev_flags utilizing a bitmap now, the space
is no longer restricted. Merge the hdev-&gt;dbg_flags into hdev-&gt;dev_flags
to save space on 64-bit architectures. On 32-bit architectures no size
reduction happens.

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: Introduce hci_dev_test_and_clear_flag helper macro</title>
<updated>2015-03-13T10:09:32Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2015-03-13T09:11:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a69d89272698d1c31ccb78348562af6461cf1eb7'/>
<id>urn:sha1:a69d89272698d1c31ccb78348562af6461cf1eb7</id>
<content type='text'>
Instead of manually coding test_and_clear_bit on hdev-&gt;dev_flags all the
time, use hci_dev_test_and_clear_flag helper macro.

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: Introduce hci_dev_set_flag helper macro</title>
<updated>2015-03-13T10:09:26Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2015-03-13T09:11:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a1536da255f16f42b8f069b2769134b32558b265'/>
<id>urn:sha1:a1536da255f16f42b8f069b2769134b32558b265</id>
<content type='text'>
Instead of manually coding set_bit on hdev-&gt;dev_flags all the time,
use hci_dev_set_flag helper macro.

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: Introduce hci_dev_test_flag helper macro</title>
<updated>2015-03-13T10:09:25Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2015-03-13T09:11:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d7a5a11d7fa80beb43d5f7cb421c86f9b4d21200'/>
<id>urn:sha1:d7a5a11d7fa80beb43d5f7cb421c86f9b4d21200</id>
<content type='text'>
Instead of manually coding test_bit on hdev-&gt;dev_flags all the time,
use hci_dev_test_flag helper macro.

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>net: bluetooth: compact struct bt_skb_cb by converting boolean fields to bit fields</title>
<updated>2015-03-02T05:19:29Z</updated>
<author>
<name>Eyal Birger</name>
<email>eyal.birger@gmail.com</email>
</author>
<published>2015-03-01T12:58:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6368c235777456ddaeaa61360186d8d03a61cb18'/>
<id>urn:sha1:6368c235777456ddaeaa61360186d8d03a61cb18</id>
<content type='text'>
Convert boolean fields incoming and req_start to bit fields and move
force_active in order save space in bt_skb_cb in an effort to use
a portion of skb-&gt;cb[] for storing skb-&gt;dropcount.

Signed-off-by: Eyal Birger &lt;eyal.birger@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: bluetooth: compact struct bt_skb_cb by inlining struct hci_req_ctrl</title>
<updated>2015-03-02T05:19:29Z</updated>
<author>
<name>Eyal Birger</name>
<email>eyal.birger@gmail.com</email>
</author>
<published>2015-03-01T12:58:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=49a6fe055739a77ef910c283efb99928423c97a0'/>
<id>urn:sha1:49a6fe055739a77ef910c283efb99928423c97a0</id>
<content type='text'>
struct hci_req_ctrl is never used outside of struct bt_skb_cb;
Inlining it frees 8 bytes on a 64 bit system in skb-&gt;cb[] allowing
the addition of more ancillary data.

Signed-off-by: Eyal Birger &lt;eyal.birger@gmail.com&gt;
Reviewed-by: Shmulik Ladkani &lt;shmulik.ladkani@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Add opcode parameter to hci_req_complete_t callback</title>
<updated>2015-01-12T09:16:31Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2015-01-11T21:50:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1904a853fae40ee61bed7c231fc5bd2158984441'/>
<id>urn:sha1:1904a853fae40ee61bed7c231fc5bd2158984441</id>
<content type='text'>
When hci_req_run() calls its provided complete function and one of the
HCI commands in the sequence fails, then provide the opcode of failing
command. In case of success HCI_OP_NOP is provided since all commands
completed.

This patch fixes the prototype of hci_req_complete_t and all its users.

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: Support static address when BR/EDR has been disabled</title>
<updated>2014-12-20T07:29:49Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2014-12-19T22:05:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=50b5b952b7c2bf2c75c257a62a6c456a0bbfdfa3'/>
<id>urn:sha1:50b5b952b7c2bf2c75c257a62a6c456a0bbfdfa3</id>
<content type='text'>
Every BR/EDR/LE dual-mode controller requires to have a public address
and so far that has become the identity address and own address. The
only way to change that behavior was with a force_static_address
debugfs option.

However the host can actually disable the BR/EDR part of a dual-mode
controller and turn into a single mode LE controller. In that case
it makes perfect sense for a host to use a chosen static address
instead of the public address.

So if the host disables BR/EDR and configures a static address, then
that static address is used as identity address and own address. If
the host does not configure a static address, then the public address
is used as before.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
</feed>
