<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/net/bluetooth/hci.h, branch linux-3.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.0.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.0.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2012-04-22T23:21:42Z</updated>
<entry>
<title>Bluetooth: hci_core: fix NULL-pointer dereference at unregister</title>
<updated>2012-04-22T23:21:42Z</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2012-03-15T13:48:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c1a658c9440a201f46a367a4da6e0bd99c9beea4'/>
<id>urn:sha1:c1a658c9440a201f46a367a4da6e0bd99c9beea4</id>
<content type='text'>
commit 94324962066231a938564bebad0f941cd2d06bb2 upstream.

Make sure hci_dev_open returns immediately if hci_dev_unregister has
been called.

This fixes a race between hci_dev_open and hci_dev_unregister which can
lead to a NULL-pointer dereference.

Bug is 100% reproducible using hciattach and a disconnected serial port:

0. # hciattach -n /dev/ttyO1 any noflow

1. hci_dev_open called from hci_power_on grabs req lock
2. hci_init_req executes but device fails to initialise (times out
   eventually)
3. hci_dev_open is called from hci_sock_ioctl and sleeps on req lock
4. hci_uart_tty_close calls hci_dev_unregister and sleeps on req lock in
   hci_dev_do_close
5. hci_dev_open (1) releases req lock
6. hci_dev_do_close grabs req lock and returns as device is not up
7. hci_dev_unregister sleeps in destroy_workqueue
8. hci_dev_open (3) grabs req lock, calls hci_init_req and eventually sleeps
9. hci_dev_unregister finishes, while hci_dev_open is still running...

[   79.627136] INFO: trying to register non-static key.
[   79.632354] the code is fine but needs lockdep annotation.
[   79.638122] turning off the locking correctness validator.
[   79.643920] [&lt;c00188bc&gt;] (unwind_backtrace+0x0/0xf8) from [&lt;c00729c4&gt;] (__lock_acquire+0x1590/0x1ab0)
[   79.653594] [&lt;c00729c4&gt;] (__lock_acquire+0x1590/0x1ab0) from [&lt;c00733f8&gt;] (lock_acquire+0x9c/0x128)
[   79.663085] [&lt;c00733f8&gt;] (lock_acquire+0x9c/0x128) from [&lt;c0040a88&gt;] (run_timer_softirq+0x150/0x3ac)
[   79.672668] [&lt;c0040a88&gt;] (run_timer_softirq+0x150/0x3ac) from [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c)
[   79.682281] [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c) from [&lt;c003a924&gt;] (irq_exit+0x8c/0x94)
[   79.690856] [&lt;c003a924&gt;] (irq_exit+0x8c/0x94) from [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84)
[   79.699157] [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84) from [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c)
[   79.708648] [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c) from [&lt;c037499c&gt;] (__irq_usr+0x3c/0x60)
[   79.718048] Exception stack(0xcf281fb0 to 0xcf281ff8)
[   79.723358] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698
[   79.731933] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
[   79.740509] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
[   79.747497] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[   79.756011] pgd = cf3b4000
[   79.758850] [00000000] *pgd=8f0c7831, *pte=00000000, *ppte=00000000
[   79.765502] Internal error: Oops: 80000007 [#1]
[   79.770294] Modules linked in:
[   79.773529] CPU: 0    Tainted: G        W     (3.3.0-rc6-00002-gb5d5c87 #421)
[   79.781066] PC is at 0x0
[   79.783721] LR is at run_timer_softirq+0x16c/0x3ac
[   79.788787] pc : [&lt;00000000&gt;]    lr : [&lt;c0040aa4&gt;]    psr: 60000113
[   79.788787] sp : cf281ee0  ip : 00000000  fp : cf280000
[   79.800903] r10: 00000004  r9 : 00000100  r8 : b6f234d0
[   79.806427] r7 : c0519c28  r6 : cf093488  r5 : c0561a00  r4 : 00000000
[   79.813323] r3 : 00000000  r2 : c054eee0  r1 : 00000001  r0 : 00000000
[   79.820190] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   79.827728] Control: 10c5387d  Table: 8f3b4019  DAC: 00000015
[   79.833801] Process gpsd (pid: 1265, stack limit = 0xcf2802e8)
[   79.839965] Stack: (0xcf281ee0 to 0xcf282000)
[   79.844573] 1ee0: 00000002 00000000 c0040a24 00000000 00000002 cf281f08 00200200 00000000
[   79.853210] 1f00: 00000000 cf281f18 cf281f08 00000000 00000000 00000000 cf281f18 cf281f18
[   79.861816] 1f20: 00000000 00000001 c056184c 00000000 00000001 b6f234d0 c0561848 00000004
[   79.870452] 1f40: cf280000 c003a3b8 c051e79c 00000001 00000000 00000100 3fa9e7b8 0000000a
[   79.879089] 1f60: 00000025 cf280000 00000025 00000000 00000000 b6f234d0 00000000 00000004
[   79.887756] 1f80: 00000000 c003a924 c053ad38 c0013a50 fa200000 cf281fb0 ffffffff c0008530
[   79.896362] 1fa0: 0001e6a0 0000aab8 80000010 c037499c 0001e6a0 be8dab00 0001e698 00036698
[   79.904998] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
[   79.913665] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff 00fbf700 04ffff00
[   79.922302] [&lt;c0040aa4&gt;] (run_timer_softirq+0x16c/0x3ac) from [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c)
[   79.931945] [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c) from [&lt;c003a924&gt;] (irq_exit+0x8c/0x94)
[   79.940582] [&lt;c003a924&gt;] (irq_exit+0x8c/0x94) from [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84)
[   79.948913] [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84) from [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c)
[   79.958404] [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c) from [&lt;c037499c&gt;] (__irq_usr+0x3c/0x60)
[   79.967773] Exception stack(0xcf281fb0 to 0xcf281ff8)
[   79.973083] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698
[   79.981658] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
[   79.990234] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
[   79.997161] Code: bad PC value
[   80.000396] ---[ end trace 6f6739840475f9ee ]---
[   80.005279] Kernel panic - not syncing: Fatal exception in interrupt

Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem</title>
<updated>2011-05-05T17:32:35Z</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2011-05-05T17:32:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a70171dce9cd44cb06c7d299eba9fa87a8933045'/>
<id>urn:sha1:a70171dce9cd44cb06c7d299eba9fa87a8933045</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/libertas/if_cs.c
	drivers/net/wireless/rtlwifi/pci.c
	net/bluetooth/l2cap_sock.c
</content>
</entry>
<entry>
<title>Bluetooth: Add definitions for link key types</title>
<updated>2011-04-28T18:02:04Z</updated>
<author>
<name>Waldemar Rymarkiewicz</name>
<email>waldemar.rymarkiewicz@tieto.com</email>
</author>
<published>2011-04-28T10:07:53Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b6020ba055c7f1ca901dc8751ecc7c9de58164db'/>
<id>urn:sha1:b6020ba055c7f1ca901dc8751ecc7c9de58164db</id>
<content type='text'>
Introduce the link key types defs and use them instead of magic numbers.

Signed-off-by: Waldemar Rymarkiewicz &lt;waldemar.rymarkiewicz@tieto.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>net: Remove __KERNEL__ cpp checks from include/net</title>
<updated>2011-04-24T17:54:56Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-04-24T17:54:56Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2a9e9507011440a57d6356ded630ba0c0f5d4b77'/>
<id>urn:sha1:2a9e9507011440a57d6356ded630ba0c0f5d4b77</id>
<content type='text'>
These header files are never installed to user consumption, so any
__KERNEL__ cpp checks are superfluous.

Projects should also not copy these files into their userland utility
sources and try to use them there.  If they insist on doing so, the
onus is on them to sanitize the headers as needed.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6</title>
<updated>2011-03-31T19:26:01Z</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-03-31T19:26:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=220b881a77eca96afdd6037dbca3441e8938228f'/>
<id>urn:sha1:220b881a77eca96afdd6037dbca3441e8938228f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bluetooth: Fix HCI_RESET command synchronization</title>
<updated>2011-03-31T17:25:25Z</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-03-16T18:36:29Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=105721328f0fa53e772592eaca17ee0023f0cc87'/>
<id>urn:sha1:105721328f0fa53e772592eaca17ee0023f0cc87</id>
<content type='text'>
We can't send new commands before a cmd_complete for the HCI_RESET command
shows up.

Reported-by: Mikko Vinni &lt;mmvinni@yahoo.com&gt;
Reported-by: Justin P. Mattock &lt;justinmattock@gmail.com&gt;
Reported-by: Ed Tomlinson &lt;edt@aei.ca&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Tested-by: Justin P. Mattock &lt;justinmattock@gmail.com&gt;
Tested-by: Mikko Vinni &lt;mmvinni@yahoo.com&gt;
Tested-by: Ed Tomlinson &lt;edt@aei.ca&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Add local Extended Inquiry Response (EIR) support</title>
<updated>2011-03-31T17:22:58Z</updated>
<author>
<name>Johan Hedberg</name>
<email>johan.hedberg@nokia.com</email>
</author>
<published>2011-03-28T11:07:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=80a1e1dbf62a08984d4c1bfb5a4bca38c3e1664f'/>
<id>urn:sha1:80a1e1dbf62a08984d4c1bfb5a4bca38c3e1664f</id>
<content type='text'>
This patch adds automated creation of the local EIR data based on what
16-bit UUIDs are registered and what the device name is. This should
cover the majority use cases, however things like 32/128-bit UUIDs, TX
power and Device ID will need to be added later to be on par with what
bluetoothd is capable of doing (without the Management interface).

Signed-off-by: Johan Hedberg &lt;johan.hedberg@nokia.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Add add/remove_remote_oob_data management commands</title>
<updated>2011-03-31T17:22:57Z</updated>
<author>
<name>Szymon Janc</name>
<email>szymon.janc@tieto.com</email>
</author>
<published>2011-03-22T12:12:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2763eda6ccaf126633bb3180f440c8f3589f0679'/>
<id>urn:sha1:2763eda6ccaf126633bb3180f440c8f3589f0679</id>
<content type='text'>
This patch adds commands to add and remove remote OOB data to the managment
interface. Remote data is stored in kernel and can be used by corresponding
HCI commands and events when needed.

Signed-off-by: Szymon Janc &lt;szymon.janc@tieto.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Add read_local_oob_data management command</title>
<updated>2011-03-31T17:22:57Z</updated>
<author>
<name>Szymon Janc</name>
<email>szymon.janc@tieto.com</email>
</author>
<published>2011-03-22T12:12:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c35938b2f56547ee77b5a038fe0db394aeac59bb'/>
<id>urn:sha1:c35938b2f56547ee77b5a038fe0db394aeac59bb</id>
<content type='text'>
This patch adds a command to read local OOB data to the managment interface.
The command maps directly to the Read Local OOB Data HCI command.

Signed-off-by: Szymon Janc &lt;szymon.janc@tieto.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Add define for the maximum name length on HCI level</title>
<updated>2011-03-31T17:22:54Z</updated>
<author>
<name>Johan Hedberg</name>
<email>johan.hedberg@nokia.com</email>
</author>
<published>2011-03-16T12:29:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1f6c6378c59f3ddac9ed89a68ccefe2611300c09'/>
<id>urn:sha1:1f6c6378c59f3ddac9ed89a68ccefe2611300c09</id>
<content type='text'>
This patch adds a clear define for the maximum device name length in HCI
messages and thereby avoids magic numbers in the code.

Signed-off-by: Johan Hedberg &lt;johan.hedberg@nokia.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
</entry>
</feed>
