<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/bluetooth/hci_h4.c, branch v3.14.42</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Bluetooth: Remove unused h4_check_data_len() function</title>
<updated>2013-10-11T05:51:09+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2013-10-10T23:52:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8909f6d2c450d0a878bcb1d1184ed0114c5724c9'/>
<id>8909f6d2c450d0a878bcb1d1184ed0114c5724c9</id>
<content type='text'>
The function h4_check_data_len() is actually not used. So just
remove it.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function h4_check_data_len() is actually not used. So just
remove it.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix H4 crash from incoming UART packets</title>
<updated>2013-04-04T09:35:58+00:00</updated>
<author>
<name>Chan-yeol Park</name>
<email>chanyeol.park@samsung.com</email>
</author>
<published>2013-04-02T12:24:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c2578202919ace314908306346b99796d46aab64'/>
<id>c2578202919ace314908306346b99796d46aab64</id>
<content type='text'>
This patch adds a check HCI_UART_REGISTERED before reading UART data in
the HCI UART H4 driver. UART data could arrive when inside the
hci_uart_tty_ioctl function after calling test_and_set_bit for
HCI_UART_PROTO_SET but before the hci_uart_set_proto function has
returned.

Backtrace:
[&lt;c05f27ec&gt;] (hci_recv_stream_fragment+0x0/0x74) from [&lt;c04126f4&gt;] (h4_recv+0x18/0x40)
 r7:eb1d4d1c r6:eb7683b0 r5:eae8e800 r4:0000000c
[&lt;c04126dc&gt;] (h4_recv+0x0/0x40) from [&lt;c0411870&gt;] (hci_uart_tty_receive+0x6c/0x94)
 r5:eae8e800 r4:eb768380
[&lt;c0411804&gt;] (hci_uart_tty_receive+0x0/0x94) from [&lt;c027be88&gt;] (flush_to_ldisc+0x16c/0x17c)
 r6:eae8e8d8 r5:eae8e800 r4:eae8e8c8
[&lt;c027bd1c&gt;] (flush_to_ldisc+0x0/0x17c) from [&lt;c0050ae8&gt;] (process_one_work+0x144/0x4d4)
[&lt;c00509a4&gt;] (process_one_work+0x0/0x4d4) from [&lt;c0051208&gt;] (worker_thread+0x180/0x370)
[&lt;c0051088&gt;] (worker_thread+0x0/0x370) from [&lt;c005617c&gt;] (kthread+0x90/0x9c)
[&lt;c00560ec&gt;] (kthread+0x0/0x9c) from [&lt;c003a3a0&gt;] (do_exit+0x0/0x7ec)

Signed-off-by: Chan-yeol Park &lt;chanyeol.park@samsung.com&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds a check HCI_UART_REGISTERED before reading UART data in
the HCI UART H4 driver. UART data could arrive when inside the
hci_uart_tty_ioctl function after calling test_and_set_bit for
HCI_UART_PROTO_SET but before the hci_uart_set_proto function has
returned.

Backtrace:
[&lt;c05f27ec&gt;] (hci_recv_stream_fragment+0x0/0x74) from [&lt;c04126f4&gt;] (h4_recv+0x18/0x40)
 r7:eb1d4d1c r6:eb7683b0 r5:eae8e800 r4:0000000c
[&lt;c04126dc&gt;] (h4_recv+0x0/0x40) from [&lt;c0411870&gt;] (hci_uart_tty_receive+0x6c/0x94)
 r5:eae8e800 r4:eb768380
[&lt;c0411804&gt;] (hci_uart_tty_receive+0x0/0x94) from [&lt;c027be88&gt;] (flush_to_ldisc+0x16c/0x17c)
 r6:eae8e8d8 r5:eae8e800 r4:eae8e8c8
[&lt;c027bd1c&gt;] (flush_to_ldisc+0x0/0x17c) from [&lt;c0050ae8&gt;] (process_one_work+0x144/0x4d4)
[&lt;c00509a4&gt;] (process_one_work+0x0/0x4d4) from [&lt;c0051208&gt;] (worker_thread+0x180/0x370)
[&lt;c0051088&gt;] (worker_thread+0x0/0x370) from [&lt;c005617c&gt;] (kthread+0x90/0x9c)
[&lt;c00560ec&gt;] (kthread+0x0/0x9c) from [&lt;c003a3a0&gt;] (do_exit+0x0/0x7ec)

Signed-off-by: Chan-yeol Park &lt;chanyeol.park@samsung.com&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Remove 'register' usage from the subsystem</title>
<updated>2012-06-05T03:34:07+00:00</updated>
<author>
<name>Gustavo Padovan</name>
<email>gustavo.padovan@collabora.co.uk</email>
</author>
<published>2012-05-23T07:04:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fc5fef615a963c8b13abf0bbc2a8e8d7c3fd1ffb'/>
<id>fc5fef615a963c8b13abf0bbc2a8e8d7c3fd1ffb</id>
<content type='text'>
Let the compiler chooses what is best.

Signed-off-by: Gustavo Padovan &lt;gustavo.padovan@collabora.co.uk&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let the compiler chooses what is best.

Signed-off-by: Gustavo Padovan &lt;gustavo.padovan@collabora.co.uk&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: hci-uart-h4: Use GFP_ATOMIC in open()</title>
<updated>2012-02-13T15:01:22+00:00</updated>
<author>
<name>David Herrmann</name>
<email>dh.herrmann@googlemail.com</email>
</author>
<published>2012-01-07T14:19:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fdcd1661a6b22e3ac429759627d2b4d68f77d64a'/>
<id>fdcd1661a6b22e3ac429759627d2b4d68f77d64a</id>
<content type='text'>
The uart_proto open() callback is not called in atomic context so we can safely
sleep here. The caller hci_uart_set_proto() in hci_ldisc.c is an ioctl-handler
and therefore can sleep.

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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The uart_proto open() callback is not called in atomic context so we can safely
sleep here. The caller hci_uart_set_proto() in hci_ldisc.c is an ioctl-handler
and therefore can sleep.

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;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Check return value of hci_recv_stream_fragment()</title>
<updated>2011-04-13T15:20:04+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-04-07T21:53:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b86ed368f1f0b19de1918c57e4b056e73d5613a0'/>
<id>b86ed368f1f0b19de1918c57e4b056e73d5613a0</id>
<content type='text'>
It may return error and in this case we do add to the stats.

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 may return error and in this case we do add to the stats.

Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Add __init and __exit marks to UART drivers</title>
<updated>2010-07-27T19:35:58+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2010-07-24T05:04:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f2b94bb9e0b8bd048331a6e9d616e918f4bcbd97'/>
<id>f2b94bb9e0b8bd048331a6e9d616e918f4bcbd97</id>
<content type='text'>
Those marks are useful to save space in the binary and in the memory.

Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Those marks are useful to save space in the binary and in the memory.

Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Use hci_recv_stream_fragment() in UART driver</title>
<updated>2010-07-27T19:34:53+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2010-07-24T04:46:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e9da101f6d0c9a8fda9f78a80365ba2a9f75603f'/>
<id>e9da101f6d0c9a8fda9f78a80365ba2a9f75603f</id>
<content type='text'>
Use the new hci_recv_stream_fragment() to reassembly incoming UART
streams.

Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Tested-by: Ville Tervo &lt;ville.tervo@nokia.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the new hci_recv_stream_fragment() to reassembly incoming UART
streams.

Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Tested-by: Ville Tervo &lt;ville.tervo@nokia.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix return value when bt_skb_alloc fails</title>
<updated>2010-05-10T07:28:45+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2010-05-01T19:15:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fe1aff710756ac73c455d214845c74e304d0e966'/>
<id>fe1aff710756ac73c455d214845c74e304d0e966</id>
<content type='text'>
Set the proper error(ENOMEM), instead of just return 0.

Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set the proper error(ENOMEM), instead of just return 0.

Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Remove some pointless conditionals before kfree_skb()</title>
<updated>2009-02-27T05:14:50+00:00</updated>
<author>
<name>Wei Yongjun</name>
<email>yjwei@cn.fujitsu.com</email>
</author>
<published>2009-02-25T10:09:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b1fb06830dc870d862f7f80e276130c0ab84d59f'/>
<id>b1fb06830dc870d862f7f80e276130c0ab84d59f</id>
<content type='text'>
Remove some pointless conditionals before kfree_skb().

Signed-off-by: Wei Yongjun &lt;yjwei@cn.fujitsu.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove some pointless conditionals before kfree_skb().

Signed-off-by: Wei Yongjun &lt;yjwei@cn.fujitsu.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Enable per-module dynamic debug messages</title>
<updated>2008-11-30T11:17:28+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2008-11-30T11:17:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a418b893a6af11ae73c762ed5b76c1bad6dc19d8'/>
<id>a418b893a6af11ae73c762ed5b76c1bad6dc19d8</id>
<content type='text'>
With the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to
allow debugging without having to recompile the kernel. This patch turns
all BT_DBG() calls into pr_debug() to support dynamic debug messages.

As a side effect all CONFIG_BT_*_DEBUG statements are now removed and
some broken debug entries have been fixed.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to
allow debugging without having to recompile the kernel. This patch turns
all BT_DBG() calls into pr_debug() to support dynamic debug messages.

As a side effect all CONFIG_BT_*_DEBUG statements are now removed and
some broken debug entries have been fixed.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
