<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/include/net/bluetooth/rfcomm.h, branch v3.3.5</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: rfcomm: Fix sleep in invalid context in rfcomm_security_cfm</title>
<updated>2011-10-14T18:04:54+00:00</updated>
<author>
<name>Szymon Janc</name>
<email>szymon.janc@tieto.com</email>
</author>
<published>2011-09-26T12:19:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=88149db4948ef90cf6220d76e34955e46c2ff9f9'/>
<id>88149db4948ef90cf6220d76e34955e46c2ff9f9</id>
<content type='text'>
This was triggered by turning off encryption on ACL link when rfcomm
was using high security. rfcomm_security_cfm (which is called from rx
task) was closing DLC and this involves sending disconnect message
(and locking socket).

Move closing DLC to rfcomm_process_dlcs and only flag DLC for closure
in rfcomm_security_cfm.

BUG: sleeping function called from invalid context at net/core/sock.c:2032
in_atomic(): 1, irqs_disabled(): 0, pid: 1788, name: kworker/0:3
[&lt;c0068a08&gt;] (unwind_backtrace+0x0/0x108) from [&lt;c05e25dc&gt;] (dump_stack+0x20/0x24)
[&lt;c05e25dc&gt;] (dump_stack+0x20/0x24) from [&lt;c0087ba8&gt;] (__might_sleep+0x110/0x12c)
[&lt;c0087ba8&gt;] (__might_sleep+0x110/0x12c) from [&lt;c04801d8&gt;] (lock_sock_nested+0x2c/0x64)
[&lt;c04801d8&gt;] (lock_sock_nested+0x2c/0x64) from [&lt;c05670c8&gt;] (l2cap_sock_sendmsg+0x58/0xcc)
[&lt;c05670c8&gt;] (l2cap_sock_sendmsg+0x58/0xcc) from [&lt;c047cf6c&gt;] (sock_sendmsg+0xb0/0xd0)
[&lt;c047cf6c&gt;] (sock_sendmsg+0xb0/0xd0) from [&lt;c047cfc8&gt;] (kernel_sendmsg+0x3c/0x44)
[&lt;c047cfc8&gt;] (kernel_sendmsg+0x3c/0x44) from [&lt;c056b0e8&gt;] (rfcomm_send_frame+0x50/0x58)
[&lt;c056b0e8&gt;] (rfcomm_send_frame+0x50/0x58) from [&lt;c056b168&gt;] (rfcomm_send_disc+0x78/0x80)
[&lt;c056b168&gt;] (rfcomm_send_disc+0x78/0x80) from [&lt;c056b9f4&gt;] (__rfcomm_dlc_close+0x2d0/0x2fc)
[&lt;c056b9f4&gt;] (__rfcomm_dlc_close+0x2d0/0x2fc) from [&lt;c056bbac&gt;] (rfcomm_security_cfm+0x140/0x1e0)
[&lt;c056bbac&gt;] (rfcomm_security_cfm+0x140/0x1e0) from [&lt;c0555ec0&gt;] (hci_event_packet+0x1ce8/0x4d84)
[&lt;c0555ec0&gt;] (hci_event_packet+0x1ce8/0x4d84) from [&lt;c0550380&gt;] (hci_rx_task+0x1d0/0x2d0)
[&lt;c0550380&gt;] (hci_rx_task+0x1d0/0x2d0) from [&lt;c009ee04&gt;] (tasklet_action+0x138/0x1e4)
[&lt;c009ee04&gt;] (tasklet_action+0x138/0x1e4) from [&lt;c009f21c&gt;] (__do_softirq+0xcc/0x274)
[&lt;c009f21c&gt;] (__do_softirq+0xcc/0x274) from [&lt;c009f6c0&gt;] (do_softirq+0x60/0x6c)
[&lt;c009f6c0&gt;] (do_softirq+0x60/0x6c) from [&lt;c009f794&gt;] (local_bh_enable_ip+0xc8/0xd4)
[&lt;c009f794&gt;] (local_bh_enable_ip+0xc8/0xd4) from [&lt;c05e5804&gt;] (_raw_spin_unlock_bh+0x48/0x4c)
[&lt;c05e5804&gt;] (_raw_spin_unlock_bh+0x48/0x4c) from [&lt;c040d470&gt;] (data_from_chip+0xf4/0xaec)
[&lt;c040d470&gt;] (data_from_chip+0xf4/0xaec) from [&lt;c04136c0&gt;] (send_skb_to_core+0x40/0x178)
[&lt;c04136c0&gt;] (send_skb_to_core+0x40/0x178) from [&lt;c04139f4&gt;] (cg2900_hu_receive+0x15c/0x2d0)
[&lt;c04139f4&gt;] (cg2900_hu_receive+0x15c/0x2d0) from [&lt;c0414cb8&gt;] (hci_uart_tty_receive+0x74/0xa0)
[&lt;c0414cb8&gt;] (hci_uart_tty_receive+0x74/0xa0) from [&lt;c02cbd9c&gt;] (flush_to_ldisc+0x188/0x198)
[&lt;c02cbd9c&gt;] (flush_to_ldisc+0x188/0x198) from [&lt;c00b2774&gt;] (process_one_work+0x144/0x4b8)
[&lt;c00b2774&gt;] (process_one_work+0x144/0x4b8) from [&lt;c00b2e8c&gt;] (worker_thread+0x198/0x468)
[&lt;c00b2e8c&gt;] (worker_thread+0x198/0x468) from [&lt;c00b9bc8&gt;] (kthread+0x98/0xa0)
[&lt;c00b9bc8&gt;] (kthread+0x98/0xa0) from [&lt;c0061744&gt;] (kernel_thread_exit+0x0/0x8)

Signed-off-by: Szymon Janc &lt;szymon.janc@tieto.com&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 was triggered by turning off encryption on ACL link when rfcomm
was using high security. rfcomm_security_cfm (which is called from rx
task) was closing DLC and this involves sending disconnect message
(and locking socket).

Move closing DLC to rfcomm_process_dlcs and only flag DLC for closure
in rfcomm_security_cfm.

BUG: sleeping function called from invalid context at net/core/sock.c:2032
in_atomic(): 1, irqs_disabled(): 0, pid: 1788, name: kworker/0:3
[&lt;c0068a08&gt;] (unwind_backtrace+0x0/0x108) from [&lt;c05e25dc&gt;] (dump_stack+0x20/0x24)
[&lt;c05e25dc&gt;] (dump_stack+0x20/0x24) from [&lt;c0087ba8&gt;] (__might_sleep+0x110/0x12c)
[&lt;c0087ba8&gt;] (__might_sleep+0x110/0x12c) from [&lt;c04801d8&gt;] (lock_sock_nested+0x2c/0x64)
[&lt;c04801d8&gt;] (lock_sock_nested+0x2c/0x64) from [&lt;c05670c8&gt;] (l2cap_sock_sendmsg+0x58/0xcc)
[&lt;c05670c8&gt;] (l2cap_sock_sendmsg+0x58/0xcc) from [&lt;c047cf6c&gt;] (sock_sendmsg+0xb0/0xd0)
[&lt;c047cf6c&gt;] (sock_sendmsg+0xb0/0xd0) from [&lt;c047cfc8&gt;] (kernel_sendmsg+0x3c/0x44)
[&lt;c047cfc8&gt;] (kernel_sendmsg+0x3c/0x44) from [&lt;c056b0e8&gt;] (rfcomm_send_frame+0x50/0x58)
[&lt;c056b0e8&gt;] (rfcomm_send_frame+0x50/0x58) from [&lt;c056b168&gt;] (rfcomm_send_disc+0x78/0x80)
[&lt;c056b168&gt;] (rfcomm_send_disc+0x78/0x80) from [&lt;c056b9f4&gt;] (__rfcomm_dlc_close+0x2d0/0x2fc)
[&lt;c056b9f4&gt;] (__rfcomm_dlc_close+0x2d0/0x2fc) from [&lt;c056bbac&gt;] (rfcomm_security_cfm+0x140/0x1e0)
[&lt;c056bbac&gt;] (rfcomm_security_cfm+0x140/0x1e0) from [&lt;c0555ec0&gt;] (hci_event_packet+0x1ce8/0x4d84)
[&lt;c0555ec0&gt;] (hci_event_packet+0x1ce8/0x4d84) from [&lt;c0550380&gt;] (hci_rx_task+0x1d0/0x2d0)
[&lt;c0550380&gt;] (hci_rx_task+0x1d0/0x2d0) from [&lt;c009ee04&gt;] (tasklet_action+0x138/0x1e4)
[&lt;c009ee04&gt;] (tasklet_action+0x138/0x1e4) from [&lt;c009f21c&gt;] (__do_softirq+0xcc/0x274)
[&lt;c009f21c&gt;] (__do_softirq+0xcc/0x274) from [&lt;c009f6c0&gt;] (do_softirq+0x60/0x6c)
[&lt;c009f6c0&gt;] (do_softirq+0x60/0x6c) from [&lt;c009f794&gt;] (local_bh_enable_ip+0xc8/0xd4)
[&lt;c009f794&gt;] (local_bh_enable_ip+0xc8/0xd4) from [&lt;c05e5804&gt;] (_raw_spin_unlock_bh+0x48/0x4c)
[&lt;c05e5804&gt;] (_raw_spin_unlock_bh+0x48/0x4c) from [&lt;c040d470&gt;] (data_from_chip+0xf4/0xaec)
[&lt;c040d470&gt;] (data_from_chip+0xf4/0xaec) from [&lt;c04136c0&gt;] (send_skb_to_core+0x40/0x178)
[&lt;c04136c0&gt;] (send_skb_to_core+0x40/0x178) from [&lt;c04139f4&gt;] (cg2900_hu_receive+0x15c/0x2d0)
[&lt;c04139f4&gt;] (cg2900_hu_receive+0x15c/0x2d0) from [&lt;c0414cb8&gt;] (hci_uart_tty_receive+0x74/0xa0)
[&lt;c0414cb8&gt;] (hci_uart_tty_receive+0x74/0xa0) from [&lt;c02cbd9c&gt;] (flush_to_ldisc+0x188/0x198)
[&lt;c02cbd9c&gt;] (flush_to_ldisc+0x188/0x198) from [&lt;c00b2774&gt;] (process_one_work+0x144/0x4b8)
[&lt;c00b2774&gt;] (process_one_work+0x144/0x4b8) from [&lt;c00b2e8c&gt;] (worker_thread+0x198/0x468)
[&lt;c00b2e8c&gt;] (worker_thread+0x198/0x468) from [&lt;c00b9bc8&gt;] (kthread+0x98/0xa0)
[&lt;c00b9bc8&gt;] (kthread+0x98/0xa0) from [&lt;c0061744&gt;] (kernel_thread_exit+0x0/0x8)

Signed-off-by: Szymon Janc &lt;szymon.janc@tieto.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Clean up some code style issues</title>
<updated>2011-06-09T19:33:28+00:00</updated>
<author>
<name>Waldemar Rymarkiewicz</name>
<email>waldemar.rymarkiewicz@tieto.com</email>
</author>
<published>2011-06-07T09:18:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5a9d0a3ffbc40ea1f5a0636501e7599cbb327bcc'/>
<id>5a9d0a3ffbc40ea1f5a0636501e7599cbb327bcc</id>
<content type='text'>
Fix lines longer than 80 chars in length.

Signed-off-by: Waldemar Rymarkiewicz &lt;waldemar.rymarkiewicz@tieto.com&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>
Fix lines longer than 80 chars in length.

Signed-off-by: Waldemar Rymarkiewicz &lt;waldemar.rymarkiewicz@tieto.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: clean up legal text</title>
<updated>2010-12-01T23:04:43+00:00</updated>
<author>
<name>Andrei Emeltchenko</name>
<email>andrei.emeltchenko@nokia.com</email>
</author>
<published>2010-12-01T14:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=be21871f24b0fcd8d0d09c8090385c9cec80efa3'/>
<id>be21871f24b0fcd8d0d09c8090385c9cec80efa3</id>
<content type='text'>
Remove extra spaces from legal text so that legal stuff looks
the same for all bluetooth code.

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.com&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>
Remove extra spaces from legal text so that legal stuff looks
the same for all bluetooth code.

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: clean up rfcomm code</title>
<updated>2010-12-01T23:04:43+00:00</updated>
<author>
<name>Andrei Emeltchenko</name>
<email>andrei.emeltchenko@nokia.com</email>
</author>
<published>2010-12-01T14:58:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=285b4e90318dcf421a00b2ac3fe8ab713f3281e3'/>
<id>285b4e90318dcf421a00b2ac3fe8ab713f3281e3</id>
<content type='text'>
Remove extra spaces, assignments in if statement, zeroing static
variables, extra braces. Fix includes.

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.com&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>
Remove extra spaces, assignments in if statement, zeroing static
variables, extra braces. Fix includes.

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: clean up rfcomm code</title>
<updated>2010-10-12T15:44:53+00:00</updated>
<author>
<name>Andrei Emeltchenko</name>
<email>andrei.emeltchenko@nokia.com</email>
</author>
<published>2010-10-01T09:05:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=534c92fde74c8d2143fc15b5f1d957f42cb43570'/>
<id>534c92fde74c8d2143fc15b5f1d957f42cb43570</id>
<content type='text'>
Remove dead code and unused rfcomm thread events

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.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>
Remove dead code and unused rfcomm thread events

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.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: Use __packed annotation</title>
<updated>2010-07-21T17:39:13+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2010-07-19T05:00:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=66c853cc21bd387a9a2109dcf3b3d53cc9ee9edf'/>
<id>66c853cc21bd387a9a2109dcf3b3d53cc9ee9edf</id>
<content type='text'>
To make net/ and include/net/ code consistent use __packed instead of
__attribute__ ((packed)). Bluetooth subsystem was one of the last net
subsys still using __attribute__ ((packed)).

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>
To make net/ and include/net/ code consistent use __packed instead of
__attribute__ ((packed)). Bluetooth subsystem was one of the last net
subsys still using __attribute__ ((packed)).

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: Fix rejected connection not disconnecting ACL link</title>
<updated>2009-08-22T22:05:58+00:00</updated>
<author>
<name>Luiz Augusto von Dentz</name>
<email>luiz.dentz@openbossa.org</email>
</author>
<published>2009-07-15T16:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9e726b17422bade75fba94e625cd35fd1353e682'/>
<id>9e726b17422bade75fba94e625cd35fd1353e682</id>
<content type='text'>
When using DEFER_SETUP on a RFCOMM socket, a SABM frame triggers
authorization which when rejected send a DM response. This is fine
according to the RFCOMM spec:

    the responding implementation may replace the "proper" response
    on the Multiplexer Control channel with a DM frame, sent on the
    referenced DLCI to indicate that the DLCI is not open, and that
    the responder would not grant a request to open it later either.

But some stacks doesn't seems to cope with this leaving DLCI 0 open after
receiving DM frame.

To fix it properly a timer was introduced to rfcomm_session which is used
to set a timeout when the last active DLC of a session is unlinked, this
will give the remote stack some time to reply with a proper DISC frame on
DLCI 0 avoiding both sides sending DISC to each other on stacks that
follow the specification and taking care of those who don't by taking
down DLCI 0.

Signed-off-by: Luiz Augusto von Dentz &lt;luiz.dentz@openbossa.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using DEFER_SETUP on a RFCOMM socket, a SABM frame triggers
authorization which when rejected send a DM response. This is fine
according to the RFCOMM spec:

    the responding implementation may replace the "proper" response
    on the Multiplexer Control channel with a DM frame, sent on the
    referenced DLCI to indicate that the DLCI is not open, and that
    the responder would not grant a request to open it later either.

But some stacks doesn't seems to cope with this leaving DLCI 0 open after
receiving DM frame.

To fix it properly a timer was introduced to rfcomm_session which is used
to set a timeout when the last active DLC of a session is unlinked, this
will give the remote stack some time to reply with a proper DISC frame on
DLCI 0 avoiding both sides sending DISC to each other on stacks that
follow the specification and taking care of those who don't by taking
down DLCI 0.

Signed-off-by: Luiz Augusto von Dentz &lt;luiz.dentz@openbossa.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bluetooth: rfcomm_init bug fix</title>
<updated>2009-08-03T20:24:39+00:00</updated>
<author>
<name>Dave Young</name>
<email>hidave.darkstar@gmail.com</email>
</author>
<published>2009-08-03T04:26:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=af0d3b103bcfa877343ee338de12002cd50c9ee5'/>
<id>af0d3b103bcfa877343ee338de12002cd50c9ee5</id>
<content type='text'>
rfcomm tty may be used before rfcomm_tty_driver initilized,
The problem is that now socket layer init before tty layer, if userspace
program do socket callback right here then oops will happen.

reporting in:
http://marc.info/?l=linux-bluetooth&amp;m=124404919324542&amp;w=2

make 3 changes:
1. remove #ifdef in rfcomm/core.c,
make it blank function when rfcomm tty not selected in rfcomm.h

2. tune the rfcomm_init error patch to ensure
tty driver initilized before rfcomm socket usage.

3. remove __exit for rfcomm_cleanup_sockets
because above change need call it in a __init function.

Reported-by: Oliver Hartkopp &lt;oliver@hartkopp.net&gt;
Tested-by: Oliver Hartkopp &lt;oliver@hartkopp.net&gt;
Signed-off-by: Dave Young &lt;hidave.darkstar@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
rfcomm tty may be used before rfcomm_tty_driver initilized,
The problem is that now socket layer init before tty layer, if userspace
program do socket callback right here then oops will happen.

reporting in:
http://marc.info/?l=linux-bluetooth&amp;m=124404919324542&amp;w=2

make 3 changes:
1. remove #ifdef in rfcomm/core.c,
make it blank function when rfcomm tty not selected in rfcomm.h

2. tune the rfcomm_init error patch to ensure
tty driver initilized before rfcomm socket usage.

3. remove __exit for rfcomm_cleanup_sockets
because above change need call it in a __init function.

Reported-by: Oliver Hartkopp &lt;oliver@hartkopp.net&gt;
Tested-by: Oliver Hartkopp &lt;oliver@hartkopp.net&gt;
Signed-off-by: Dave Young &lt;hidave.darkstar@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Pause RFCOMM TX when encryption drops</title>
<updated>2009-02-27T05:14:33+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2009-01-16T07:17:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8c84b83076b5062f59b6167cdda90d9e5124aa71'/>
<id>8c84b83076b5062f59b6167cdda90d9e5124aa71</id>
<content type='text'>
A role switch with devices following the Bluetooth pre-2.1 standards
or without Encryption Pause and Resume support is not possible if
encryption is enabled. Most newer headsets require the role switch,
but also require that the connection is encrypted.

For connections with a high security mode setting, the link will be
immediately dropped. When the connection uses medium security mode
setting, then a grace period is introduced where the TX is halted and
the remote device gets a change to re-enable encryption after the
role switch. If not re-enabled the link will be dropped.

Based on initial work 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>
A role switch with devices following the Bluetooth pre-2.1 standards
or without Encryption Pause and Resume support is not possible if
encryption is enabled. Most newer headsets require the role switch,
but also require that the connection is encrypted.

For connections with a high security mode setting, the link will be
immediately dropped. When the connection uses medium security mode
setting, then a grace period is introduced where the TX is halted and
the remote device gets a change to re-enable encryption after the
role switch. If not re-enabled the link will be dropped.

Based on initial work 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: Replace RFCOMM link mode with security level</title>
<updated>2009-02-27T05:14:26+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2009-01-15T20:58:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9f2c8a03fbb3048cf38b158f87aa0c3c09bca084'/>
<id>9f2c8a03fbb3048cf38b158f87aa0c3c09bca084</id>
<content type='text'>
Change the RFCOMM internals to use the new security levels and remove
the link mode details.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the RFCOMM internals to use the new security levels and remove
the link mode details.

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