<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/include/net/bluetooth, branch v3.3-rc5</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>bluetooth: hci: Fix type of "enable_hs" to bool.</title>
<updated>2012-01-22T20:08:46+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-01-22T19:45:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b1cc16b8e643096adb92bbcb76c6c4c564141c40'/>
<id>b1cc16b8e643096adb92bbcb76c6c4c564141c40</id>
<content type='text'>
Fixes:

net/bluetooth/hci_core.c: In function ‘__check_enable_hs’:
net/bluetooth/hci_core.c:2587:1: warning: return from incompatible pointer type [enabled by default]

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes:

net/bluetooth/hci_core.c: In function ‘__check_enable_hs’:
net/bluetooth/hci_core.c:2587:1: warning: return from incompatible pointer type [enabled by default]

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next</title>
<updated>2012-01-10T20:44:17+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2012-01-10T20:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=874c60bad92564358e87d58f505fceb0b09ec1aa'/>
<id>874c60bad92564358e87d58f505fceb0b09ec1aa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem</title>
<updated>2012-01-03T20:16:34+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2012-01-03T20:16:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=57adc1fcbae2c13104ce291b40f23e40a414fa87'/>
<id>57adc1fcbae2c13104ce291b40f23e40a414fa87</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/b43/dma.c
	drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/wireless/b43/dma.c
	drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Rename extfeatures</title>
<updated>2012-01-03T00:21:05+00:00</updated>
<author>
<name>Andre Guedes</name>
<email>aguedespe@gmail.com</email>
</author>
<published>2011-12-30T13:34:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=59e294065ddee7074af91e4f5e12e6095eb1135b'/>
<id>59e294065ddee7074af91e4f5e12e6095eb1135b</id>
<content type='text'>
This patch renames hdev-&gt;extfeatures to hdev-&gt;host_features since it
holds the extended features Page 1 (aka host features).

Signed-off-by: Andre Guedes &lt;aguedespe@gmail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch renames hdev-&gt;extfeatures to hdev-&gt;host_features since it
holds the extended features Page 1 (aka host features).

Signed-off-by: Andre Guedes &lt;aguedespe@gmail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: remove *_bh usage from hci_dev_list and hci_cb_list</title>
<updated>2011-12-22T20:06:24+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-12-22T18:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f20d09d5f7093e5dc5f231c65835e2d04739bd5e'/>
<id>f20d09d5f7093e5dc5f231c65835e2d04739bd5e</id>
<content type='text'>
They don't need to disable interrupts anymore, we only run in process
context now.

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They don't need to disable interrupts anymore, we only run in process
context now.

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Remove lock from inquiry_cache</title>
<updated>2011-12-22T20:02:06+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-12-22T18:15:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=460da45d92f19adda1b79910652d5a23c65dd272'/>
<id>460da45d92f19adda1b79910652d5a23c65dd272</id>
<content type='text'>
It was never used, so removing it.

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was never used, so removing it.

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Add MITM mechanism to LE-SMP</title>
<updated>2011-12-22T16:18:59+00:00</updated>
<author>
<name>Brian Gix</name>
<email>bgix@codeaurora.org</email>
</author>
<published>2011-12-22T00:12:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2b64d153a0cc9d2b60e47be013cde8490f16e0a5'/>
<id>2b64d153a0cc9d2b60e47be013cde8490f16e0a5</id>
<content type='text'>
To achive Man-In-The-Middle (MITM) level security with Low Energy,
we have to enable User Passkey Comparison.  This commit modifies the
hard-coded JUST-WORKS pairing mechanism to support query via the MGMT
interface of Passkey comparison and User Confirmation.

Signed-off-by: Brian Gix &lt;bgix@codeaurora.org&gt;
Acked-by: Marcel Holtmann&lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To achive Man-In-The-Middle (MITM) level security with Low Energy,
we have to enable User Passkey Comparison.  This commit modifies the
hard-coded JUST-WORKS pairing mechanism to support query via the MGMT
interface of Passkey comparison and User Confirmation.

Signed-off-by: Brian Gix &lt;bgix@codeaurora.org&gt;
Acked-by: Marcel Holtmann&lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix deadlocks with sock lock and L2CAP timers locks</title>
<updated>2011-12-22T16:15:09+00:00</updated>
<author>
<name>Ulisses Furquim</name>
<email>ulisses@profusion.mobi</email>
</author>
<published>2011-12-21T22:02:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=371fd83563252f550ce59476a7366d0b5171d316'/>
<id>371fd83563252f550ce59476a7366d0b5171d316</id>
<content type='text'>
When cancelling a delayed work (timer) in L2CAP we can not sleep holding
the sock mutex otherwise we might deadlock with an L2CAP timer handler.
This is possible because RX/TX and L2CAP timers run in different workqueues.
The scenario below illustrates the problem. Thus we are now avoiding to
sleep on the timers locks.

 ======================================================
 [ INFO: possible circular locking dependency detected ]
 3.1.0-05270-ga978dc7-dirty #239
 -------------------------------------------------------
 kworker/1:1/873 is trying to acquire lock:
  (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}, at: [&lt;ffffffffa002ceac&gt;] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]

 but task is already holding lock:
  ((&amp;(&amp;chan-&gt;chan_timer)-&gt;work)){+.+...}, at: [&lt;ffffffff81051a86&gt;] process_one_work+0x126/0x450

 which lock already depends on the new lock.

 the existing dependency chain (in reverse order) is:

 -&gt; #1 ((&amp;(&amp;chan-&gt;chan_timer)-&gt;work)){+.+...}:
        [&lt;ffffffff8106b276&gt;] check_prevs_add+0xf6/0x170
        [&lt;ffffffff8106b903&gt;] validate_chain+0x613/0x790
        [&lt;ffffffff8106dfee&gt;] __lock_acquire+0x4be/0xac0
        [&lt;ffffffff8106ec2d&gt;] lock_acquire+0x8d/0xb0
        [&lt;ffffffff81052a6f&gt;] wait_on_work+0x4f/0x160
        [&lt;ffffffff81052ca3&gt;] __cancel_work_timer+0x73/0x80
        [&lt;ffffffff81052cbd&gt;] cancel_delayed_work_sync+0xd/0x10
        [&lt;ffffffffa002f2ed&gt;] l2cap_chan_connect+0x22d/0x470 [bluetooth]
        [&lt;ffffffffa002fb51&gt;] l2cap_sock_connect+0xb1/0x140 [bluetooth]
        [&lt;ffffffff8130811b&gt;] kernel_connect+0xb/0x10
        [&lt;ffffffffa00cf98a&gt;] rfcomm_session_create+0x12a/0x1c0 [rfcomm]
        [&lt;ffffffffa00cfbe7&gt;] __rfcomm_dlc_open+0x1c7/0x240 [rfcomm]
        [&lt;ffffffffa00d07c2&gt;] rfcomm_dlc_open+0x42/0x70 [rfcomm]
        [&lt;ffffffffa00d3b03&gt;] rfcomm_sock_connect+0x103/0x150 [rfcomm]
        [&lt;ffffffff8130bd7e&gt;] sys_connect+0xae/0xc0
        [&lt;ffffffff813368d2&gt;] compat_sys_socketcall+0xb2/0x220
        [&lt;ffffffff813b2089&gt;] sysenter_dispatch+0x7/0x30

 -&gt; #0 (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}:
        [&lt;ffffffff8106b16d&gt;] check_prev_add+0x6cd/0x6e0
        [&lt;ffffffff8106b276&gt;] check_prevs_add+0xf6/0x170
        [&lt;ffffffff8106b903&gt;] validate_chain+0x613/0x790
        [&lt;ffffffff8106dfee&gt;] __lock_acquire+0x4be/0xac0
        [&lt;ffffffff8106ec2d&gt;] lock_acquire+0x8d/0xb0
        [&lt;ffffffff8130d91a&gt;] lock_sock_nested+0x8a/0xa0
        [&lt;ffffffffa002ceac&gt;] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
        [&lt;ffffffff81051ae4&gt;] process_one_work+0x184/0x450
        [&lt;ffffffff8105276e&gt;] worker_thread+0x15e/0x340
        [&lt;ffffffff81057bb6&gt;] kthread+0x96/0xa0
        [&lt;ffffffff813b1ef4&gt;] kernel_thread_helper+0x4/0x10

 other info that might help us debug this:

  Possible unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock((&amp;(&amp;chan-&gt;chan_timer)-&gt;work));
                                lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);
                                lock((&amp;(&amp;chan-&gt;chan_timer)-&gt;work));
   lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);

  *** DEADLOCK ***

 2 locks held by kworker/1:1/873:
  #0:  (events){.+.+.+}, at: [&lt;ffffffff81051a86&gt;] process_one_work+0x126/0x450
  #1:  ((&amp;(&amp;chan-&gt;chan_timer)-&gt;work)){+.+...}, at: [&lt;ffffffff81051a86&gt;] process_one_work+0x126/0x450

 stack backtrace:
 Pid: 873, comm: kworker/1:1 Not tainted 3.1.0-05270-ga978dc7-dirty #239
 Call Trace:
  [&lt;ffffffff813a0f6e&gt;] print_circular_bug+0xd2/0xe3
  [&lt;ffffffff8106b16d&gt;] check_prev_add+0x6cd/0x6e0
  [&lt;ffffffff8106b276&gt;] check_prevs_add+0xf6/0x170
  [&lt;ffffffff8106b903&gt;] validate_chain+0x613/0x790
  [&lt;ffffffff8106dfee&gt;] __lock_acquire+0x4be/0xac0
  [&lt;ffffffff8130d8f6&gt;] ? lock_sock_nested+0x66/0xa0
  [&lt;ffffffff8106ea30&gt;] ? lock_release_nested+0x100/0x110
  [&lt;ffffffff8130d8f6&gt;] ? lock_sock_nested+0x66/0xa0
  [&lt;ffffffff8106ec2d&gt;] lock_acquire+0x8d/0xb0
  [&lt;ffffffffa002ceac&gt;] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
  [&lt;ffffffff8130d91a&gt;] lock_sock_nested+0x8a/0xa0
  [&lt;ffffffffa002ceac&gt;] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
  [&lt;ffffffff81051a86&gt;] ? process_one_work+0x126/0x450
  [&lt;ffffffffa002ceac&gt;] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
  [&lt;ffffffff81051ae4&gt;] process_one_work+0x184/0x450
  [&lt;ffffffff81051a86&gt;] ? process_one_work+0x126/0x450
  [&lt;ffffffffa002ce70&gt;] ? l2cap_security_cfm+0x4e0/0x4e0 [bluetooth]
  [&lt;ffffffff8105276e&gt;] worker_thread+0x15e/0x340
  [&lt;ffffffff81052610&gt;] ? manage_workers+0x110/0x110
  [&lt;ffffffff81057bb6&gt;] kthread+0x96/0xa0
  [&lt;ffffffff813b1ef4&gt;] kernel_thread_helper+0x4/0x10
  [&lt;ffffffff813af69d&gt;] ? retint_restore_args+0xe/0xe
  [&lt;ffffffff81057b20&gt;] ? __init_kthread_worker+0x70/0x70
  [&lt;ffffffff813b1ef0&gt;] ? gs_change+0xb/0xb

Signed-off-by: Ulisses Furquim &lt;ulisses@profusion.mobi&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When cancelling a delayed work (timer) in L2CAP we can not sleep holding
the sock mutex otherwise we might deadlock with an L2CAP timer handler.
This is possible because RX/TX and L2CAP timers run in different workqueues.
The scenario below illustrates the problem. Thus we are now avoiding to
sleep on the timers locks.

 ======================================================
 [ INFO: possible circular locking dependency detected ]
 3.1.0-05270-ga978dc7-dirty #239
 -------------------------------------------------------
 kworker/1:1/873 is trying to acquire lock:
  (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}, at: [&lt;ffffffffa002ceac&gt;] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]

 but task is already holding lock:
  ((&amp;(&amp;chan-&gt;chan_timer)-&gt;work)){+.+...}, at: [&lt;ffffffff81051a86&gt;] process_one_work+0x126/0x450

 which lock already depends on the new lock.

 the existing dependency chain (in reverse order) is:

 -&gt; #1 ((&amp;(&amp;chan-&gt;chan_timer)-&gt;work)){+.+...}:
        [&lt;ffffffff8106b276&gt;] check_prevs_add+0xf6/0x170
        [&lt;ffffffff8106b903&gt;] validate_chain+0x613/0x790
        [&lt;ffffffff8106dfee&gt;] __lock_acquire+0x4be/0xac0
        [&lt;ffffffff8106ec2d&gt;] lock_acquire+0x8d/0xb0
        [&lt;ffffffff81052a6f&gt;] wait_on_work+0x4f/0x160
        [&lt;ffffffff81052ca3&gt;] __cancel_work_timer+0x73/0x80
        [&lt;ffffffff81052cbd&gt;] cancel_delayed_work_sync+0xd/0x10
        [&lt;ffffffffa002f2ed&gt;] l2cap_chan_connect+0x22d/0x470 [bluetooth]
        [&lt;ffffffffa002fb51&gt;] l2cap_sock_connect+0xb1/0x140 [bluetooth]
        [&lt;ffffffff8130811b&gt;] kernel_connect+0xb/0x10
        [&lt;ffffffffa00cf98a&gt;] rfcomm_session_create+0x12a/0x1c0 [rfcomm]
        [&lt;ffffffffa00cfbe7&gt;] __rfcomm_dlc_open+0x1c7/0x240 [rfcomm]
        [&lt;ffffffffa00d07c2&gt;] rfcomm_dlc_open+0x42/0x70 [rfcomm]
        [&lt;ffffffffa00d3b03&gt;] rfcomm_sock_connect+0x103/0x150 [rfcomm]
        [&lt;ffffffff8130bd7e&gt;] sys_connect+0xae/0xc0
        [&lt;ffffffff813368d2&gt;] compat_sys_socketcall+0xb2/0x220
        [&lt;ffffffff813b2089&gt;] sysenter_dispatch+0x7/0x30

 -&gt; #0 (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+...}:
        [&lt;ffffffff8106b16d&gt;] check_prev_add+0x6cd/0x6e0
        [&lt;ffffffff8106b276&gt;] check_prevs_add+0xf6/0x170
        [&lt;ffffffff8106b903&gt;] validate_chain+0x613/0x790
        [&lt;ffffffff8106dfee&gt;] __lock_acquire+0x4be/0xac0
        [&lt;ffffffff8106ec2d&gt;] lock_acquire+0x8d/0xb0
        [&lt;ffffffff8130d91a&gt;] lock_sock_nested+0x8a/0xa0
        [&lt;ffffffffa002ceac&gt;] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
        [&lt;ffffffff81051ae4&gt;] process_one_work+0x184/0x450
        [&lt;ffffffff8105276e&gt;] worker_thread+0x15e/0x340
        [&lt;ffffffff81057bb6&gt;] kthread+0x96/0xa0
        [&lt;ffffffff813b1ef4&gt;] kernel_thread_helper+0x4/0x10

 other info that might help us debug this:

  Possible unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock((&amp;(&amp;chan-&gt;chan_timer)-&gt;work));
                                lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);
                                lock((&amp;(&amp;chan-&gt;chan_timer)-&gt;work));
   lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);

  *** DEADLOCK ***

 2 locks held by kworker/1:1/873:
  #0:  (events){.+.+.+}, at: [&lt;ffffffff81051a86&gt;] process_one_work+0x126/0x450
  #1:  ((&amp;(&amp;chan-&gt;chan_timer)-&gt;work)){+.+...}, at: [&lt;ffffffff81051a86&gt;] process_one_work+0x126/0x450

 stack backtrace:
 Pid: 873, comm: kworker/1:1 Not tainted 3.1.0-05270-ga978dc7-dirty #239
 Call Trace:
  [&lt;ffffffff813a0f6e&gt;] print_circular_bug+0xd2/0xe3
  [&lt;ffffffff8106b16d&gt;] check_prev_add+0x6cd/0x6e0
  [&lt;ffffffff8106b276&gt;] check_prevs_add+0xf6/0x170
  [&lt;ffffffff8106b903&gt;] validate_chain+0x613/0x790
  [&lt;ffffffff8106dfee&gt;] __lock_acquire+0x4be/0xac0
  [&lt;ffffffff8130d8f6&gt;] ? lock_sock_nested+0x66/0xa0
  [&lt;ffffffff8106ea30&gt;] ? lock_release_nested+0x100/0x110
  [&lt;ffffffff8130d8f6&gt;] ? lock_sock_nested+0x66/0xa0
  [&lt;ffffffff8106ec2d&gt;] lock_acquire+0x8d/0xb0
  [&lt;ffffffffa002ceac&gt;] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
  [&lt;ffffffff8130d91a&gt;] lock_sock_nested+0x8a/0xa0
  [&lt;ffffffffa002ceac&gt;] ? l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
  [&lt;ffffffff81051a86&gt;] ? process_one_work+0x126/0x450
  [&lt;ffffffffa002ceac&gt;] l2cap_chan_timeout+0x3c/0xe0 [bluetooth]
  [&lt;ffffffff81051ae4&gt;] process_one_work+0x184/0x450
  [&lt;ffffffff81051a86&gt;] ? process_one_work+0x126/0x450
  [&lt;ffffffffa002ce70&gt;] ? l2cap_security_cfm+0x4e0/0x4e0 [bluetooth]
  [&lt;ffffffff8105276e&gt;] worker_thread+0x15e/0x340
  [&lt;ffffffff81052610&gt;] ? manage_workers+0x110/0x110
  [&lt;ffffffff81057bb6&gt;] kthread+0x96/0xa0
  [&lt;ffffffff813b1ef4&gt;] kernel_thread_helper+0x4/0x10
  [&lt;ffffffff813af69d&gt;] ? retint_restore_args+0xe/0xe
  [&lt;ffffffff81057b20&gt;] ? __init_kthread_worker+0x70/0x70
  [&lt;ffffffff813b1ef0&gt;] ? gs_change+0xb/0xb

Signed-off-by: Ulisses Furquim &lt;ulisses@profusion.mobi&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Make HCI call directly into SCO and L2CAP event functions</title>
<updated>2011-12-22T16:07:29+00:00</updated>
<author>
<name>Ulisses Furquim</name>
<email>ulisses@profusion.mobi</email>
</author>
<published>2011-12-21T12:11:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=686ebf283ba19f82abd8aaec023cd124749be9ec'/>
<id>686ebf283ba19f82abd8aaec023cd124749be9ec</id>
<content type='text'>
The struct hci_proto and all related register/unregister and dispatching
code was removed. HCI core code now call directly the SCO and L2CAP
event functions.

Signed-off-by: Ulisses Furquim &lt;ulisses@profusion.mobi&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The struct hci_proto and all related register/unregister and dispatching
code was removed. HCI core code now call directly the SCO and L2CAP
event functions.

Signed-off-by: Ulisses Furquim &lt;ulisses@profusion.mobi&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Remove magic numbers from le scan cmd</title>
<updated>2011-12-22T16:03:24+00:00</updated>
<author>
<name>Andrei Emeltchenko</name>
<email>andrei.emeltchenko@intel.com</email>
</author>
<published>2011-12-19T14:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=68a8aea45973c8d0bc05f58389ce9e82e04bb5f6'/>
<id>68a8aea45973c8d0bc05f58389ce9e82e04bb5f6</id>
<content type='text'>
Make code readable by removing magic numbers.

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make code readable by removing magic numbers.

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
</feed>
