<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/bluetooth, branch T20_LinuxImageV2.0Beta1_20121218</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: Drop rfcomm session reference only once for incoming session</title>
<updated>2012-01-20T00:15:16+00:00</updated>
<author>
<name>Ville Tervo</name>
<email>ville.tervo@nokia.com</email>
</author>
<published>2010-02-26T10:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=590f5e672f834e08373aff52bd191deacf365920'/>
<id>590f5e672f834e08373aff52bd191deacf365920</id>
<content type='text'>
Move decision to drop reference for incoming session to
rfcomm_session_close to get more clear
rfcomm_session_hold()/rfcomm_session_put() pairs.

Rebase by: Jaikumar Ganesh &lt;jaikumarg@android.com&gt;

Signed-off-by: Ville Tervo &lt;ville.tervo@nokia.com&gt;
Signed-off-by: Jaikumar Ganesh &lt;jaikumarg@android.com&gt;
(cherry picked from commit dacd12646bbe15c98ab2b74b266092271a41d278)

Change-Id: I6b9374bb732d4f9706a65be19f8dbfddbe1de2df
Signed-off-by: Nagarjuna Kristam &lt;nkristam@nvidia.com&gt;
Reviewed-on: http://git-master/r/75236
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;
Reviewed-by: Rakesh Goyal &lt;rgoyal@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move decision to drop reference for incoming session to
rfcomm_session_close to get more clear
rfcomm_session_hold()/rfcomm_session_put() pairs.

Rebase by: Jaikumar Ganesh &lt;jaikumarg@android.com&gt;

Signed-off-by: Ville Tervo &lt;ville.tervo@nokia.com&gt;
Signed-off-by: Jaikumar Ganesh &lt;jaikumarg@android.com&gt;
(cherry picked from commit dacd12646bbe15c98ab2b74b266092271a41d278)

Change-Id: I6b9374bb732d4f9706a65be19f8dbfddbe1de2df
Signed-off-by: Nagarjuna Kristam &lt;nkristam@nvidia.com&gt;
Reviewed-on: http://git-master/r/75236
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;
Reviewed-by: Rakesh Goyal &lt;rgoyal@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra bluesleep: Bluetooth active power management driver</title>
<updated>2011-12-01T05:52:10+00:00</updated>
<author>
<name>Anantha Idapalapati</name>
<email>aidapalapati@nvidia.com</email>
</author>
<published>2010-08-10T03:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aeebc772543f0040e8baf6a9200d3af93e928d42'/>
<id>aeebc772543f0040e8baf6a9200d3af93e928d42</id>
<content type='text'>
A new driver is implemented to actively manage the bluetooth module
power. bluesleep also tries to manage the power of the transport used.

Two signals (GPIOs) are used to manage the power events.

BT_WAKE  : signal from HOST to BT chip to intimate BT chip can sleep.
HOST_WAKE: signal from BT chip to HOST to intimate HOST should wakeup/
activate the transport modules required for BT communication.

Bug 791669, 773186

(cherry picked from commit 111f4ccd3c4cfde2fa52ae4c0c56a2288c3af3a8)

Original-Change-Id: Iff1e81bb22d9bd43113f7cdd01329da3ae852a15
Reviewed-on: http://git-master/r/19858
Reviewed-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;
Tested-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;

Rebase-Id: R1eca7f2f51475daf6104e71e90ad5db1213fa6ea
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A new driver is implemented to actively manage the bluetooth module
power. bluesleep also tries to manage the power of the transport used.

Two signals (GPIOs) are used to manage the power events.

BT_WAKE  : signal from HOST to BT chip to intimate BT chip can sleep.
HOST_WAKE: signal from BT chip to HOST to intimate HOST should wakeup/
activate the transport modules required for BT communication.

Bug 791669, 773186

(cherry picked from commit 111f4ccd3c4cfde2fa52ae4c0c56a2288c3af3a8)

Original-Change-Id: Iff1e81bb22d9bd43113f7cdd01329da3ae852a15
Reviewed-on: http://git-master/r/19858
Reviewed-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;
Tested-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;

Rebase-Id: R1eca7f2f51475daf6104e71e90ad5db1213fa6ea
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Keep master role when SCO or eSCO is active</title>
<updated>2011-12-01T05:39:19+00:00</updated>
<author>
<name>hyungseoung.yoo</name>
<email>hyungseoung.yoo@samsung.com</email>
</author>
<published>2011-11-18T04:57:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=14588213f58bfc7719ff98b38623d3c838b45891'/>
<id>14588213f58bfc7719ff98b38623d3c838b45891</id>
<content type='text'>
This improves compatbility with a lot of headset / chipset
combinations. Ideally this should not be needed.

Change-Id: I8b676701e12e416aa7d60801b9d353b15d102709
Signed-off-by: hyungseoung.yoo &lt;hyungseoung.yoo@samsung.com&gt;
Signed-off-by: Jaikumar Ganesh &lt;jaikumarg@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This improves compatbility with a lot of headset / chipset
combinations. Ideally this should not be needed.

Change-Id: I8b676701e12e416aa7d60801b9d353b15d102709
Signed-off-by: hyungseoung.yoo &lt;hyungseoung.yoo@samsung.com&gt;
Signed-off-by: Jaikumar Ganesh &lt;jaikumarg@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix l2cap conn failures for ssp devices</title>
<updated>2011-12-01T05:39:02+00:00</updated>
<author>
<name>Peter Hurley</name>
<email>peter@xxxxxxxxxxxxxxxxxx</email>
</author>
<published>2011-08-09T20:26:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=634660c4a24212a1ba9ccff88abf4ff5238603f6'/>
<id>634660c4a24212a1ba9ccff88abf4ff5238603f6</id>
<content type='text'>
Commit 330605423c fixed l2cap conn establishment for non-ssp remote
devices by not setting HCI_CONN_ENCRYPT_PEND every time conn security
is tested (which was always returning failure on any subsequent
security checks).

However, this broke l2cap conn establishment for ssp remote devices
when an ACL link was already established at SDP-level security. This
fix ensures that encryption must be pending whenever authentication
is also pending.

Change-Id: I6876ea5134e90d1f3d0f84e8ed40b92977b3df64
Signed-off-by: Peter Hurley &lt;peter@xxxxxxxxxxxxxxxxxx&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 330605423c fixed l2cap conn establishment for non-ssp remote
devices by not setting HCI_CONN_ENCRYPT_PEND every time conn security
is tested (which was always returning failure on any subsequent
security checks).

However, this broke l2cap conn establishment for ssp remote devices
when an ACL link was already established at SDP-level security. This
fix ensures that encryption must be pending whenever authentication
is also pending.

Change-Id: I6876ea5134e90d1f3d0f84e8ed40b92977b3df64
Signed-off-by: Peter Hurley &lt;peter@xxxxxxxxxxxxxxxxxx&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Add support for SMP timeout</title>
<updated>2011-12-01T05:38:48+00:00</updated>
<author>
<name>Vinicius Costa Gomes</name>
<email>vinicius.gomes@openbossa.org</email>
</author>
<published>2011-06-14T16:37:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f663e347086a2b63ac0ab84e4e971ad36640b9a7'/>
<id>f663e347086a2b63ac0ab84e4e971ad36640b9a7</id>
<content type='text'>
This patch adds support for disconnecting the link when SMP procedure
takes more than 30 seconds.

SMP begins when either the Pairing Request command is sent or the
Pairing Response is received, and it ends when the link is encrypted
(or terminated). Vol 3, Part H Section 3.4.

Signed-off-by: Vinicius Costa Gomes &lt;vinicius.gomes@openbossa.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 adds support for disconnecting the link when SMP procedure
takes more than 30 seconds.

SMP begins when either the Pairing Request command is sent or the
Pairing Response is received, and it ends when the link is encrypted
(or terminated). Vol 3, Part H Section 3.4.

Signed-off-by: Vinicius Costa Gomes &lt;vinicius.gomes@openbossa.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Allow SCO/eSCO packet type selection for outgoing SCO connections.</title>
<updated>2011-12-01T05:38:32+00:00</updated>
<author>
<name>Nick Pelly</name>
<email>npelly@google.com</email>
</author>
<published>2010-02-11T19:54:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3f1ceaa9b16cdaf59f386c8bb7e2e9d27e0ba3f4'/>
<id>3f1ceaa9b16cdaf59f386c8bb7e2e9d27e0ba3f4</id>
<content type='text'>
__u16 sco_pkt_type is introduced to struct sockaddr_sco. It allows bitwise
selection of SCO/eSCO packet types. Currently those bits are:

0x0001 HV1 may be used.
0x0002 HV2 may be used.
0x0004 HV3 may be used.
0x0008 EV3 may be used.
0x0010 EV4 may be used.
0x0020 EV5 may be used.
0x0040 2-EV3 may be used.
0x0080 3-EV3 may be used.
0x0100 2-EV5 may be used.
0x0200 3-EV5 may be used.

This is similar to the Packet Type parameter in the HCI Setup Synchronous
Connection Command, except that we are not reversing the logic on the EDR bits.
This makes the use of sco_pkt_tpye forward portable for the use case of
white-listing packet types, which we expect will be the primary use case.

If sco_pkt_type is zero, or userspace uses the old struct sockaddr_sco,
then the default behavior is to allow all packet types.

Packet type selection is just a request made to the Bluetooth chipset, and
it is up to the link manager on the chipset to negiotiate and decide on the
actual packet types used. Furthermore, when a SCO/eSCO connection is eventually
made there is no way for the host stack to determine which packet type was used
(however it is possible to get the link type of SCO or eSCO).

sco_pkt_type is ignored for incoming SCO connections. It is possible
to add this in the future as a parameter to the Accept Synchronous Connection
Command, however its a little trickier because the kernel does not
currently preserve sockaddr_sco data between userspace calls to accept().

The most common use for sco_pkt_type will be to white-list only SCO packets,
which can be done with the hci.h constant SCO_ESCO_MASK.

This patch is motivated by broken Bluetooth carkits such as the Motorolo
HF850 (it claims to support eSCO, but will actually reject eSCO connections
after 5 seconds) and the 2007/2008 Infiniti G35/37 (fails to route audio
if a 2-EV5 packet type is negiotiated). With this patch userspace can maintain
a list of compatible packet types to workaround remote devices such as these.

Based on a patch by Marcel Holtmann.

Rebased to 2.6.39.

Change-Id: Ide1c89574fa4f6f1b9218282e1af17051eb86315
Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
__u16 sco_pkt_type is introduced to struct sockaddr_sco. It allows bitwise
selection of SCO/eSCO packet types. Currently those bits are:

0x0001 HV1 may be used.
0x0002 HV2 may be used.
0x0004 HV3 may be used.
0x0008 EV3 may be used.
0x0010 EV4 may be used.
0x0020 EV5 may be used.
0x0040 2-EV3 may be used.
0x0080 3-EV3 may be used.
0x0100 2-EV5 may be used.
0x0200 3-EV5 may be used.

This is similar to the Packet Type parameter in the HCI Setup Synchronous
Connection Command, except that we are not reversing the logic on the EDR bits.
This makes the use of sco_pkt_tpye forward portable for the use case of
white-listing packet types, which we expect will be the primary use case.

If sco_pkt_type is zero, or userspace uses the old struct sockaddr_sco,
then the default behavior is to allow all packet types.

Packet type selection is just a request made to the Bluetooth chipset, and
it is up to the link manager on the chipset to negiotiate and decide on the
actual packet types used. Furthermore, when a SCO/eSCO connection is eventually
made there is no way for the host stack to determine which packet type was used
(however it is possible to get the link type of SCO or eSCO).

sco_pkt_type is ignored for incoming SCO connections. It is possible
to add this in the future as a parameter to the Accept Synchronous Connection
Command, however its a little trickier because the kernel does not
currently preserve sockaddr_sco data between userspace calls to accept().

The most common use for sco_pkt_type will be to white-list only SCO packets,
which can be done with the hci.h constant SCO_ESCO_MASK.

This patch is motivated by broken Bluetooth carkits such as the Motorolo
HF850 (it claims to support eSCO, but will actually reject eSCO connections
after 5 seconds) and the 2007/2008 Infiniti G35/37 (fails to route audio
if a 2-EV5 packet type is negiotiated). With this patch userspace can maintain
a list of compatible packet types to workaround remote devices such as these.

Based on a patch by Marcel Holtmann.

Rebased to 2.6.39.

Change-Id: Ide1c89574fa4f6f1b9218282e1af17051eb86315
Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Add ACL MTU, available buffers and total buffers to hci_conn_info.</title>
<updated>2011-12-01T05:38:12+00:00</updated>
<author>
<name>Nick Pelly</name>
<email>npelly@google.com</email>
</author>
<published>2009-12-09T08:15:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d4076ae3b7eff09f9d4c1f4193572e27db59dbd9'/>
<id>d4076ae3b7eff09f9d4c1f4193572e27db59dbd9</id>
<content type='text'>
This provides userspace debugging tools access to ACL flow control state.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This provides userspace debugging tools access to ACL flow control state.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fallback to SCO on error code 0x10 (Connection Accept Timeout).</title>
<updated>2011-12-01T05:38:12+00:00</updated>
<author>
<name>Nick Pelly</name>
<email>npelly@google.com</email>
</author>
<published>2009-09-22T22:19:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2f19c74fa326c63171fc3ebd44f6c385838ac6a6'/>
<id>2f19c74fa326c63171fc3ebd44f6c385838ac6a6</id>
<content type='text'>
This is to support the Motorola HF850 carkit which reports the error code 0x10
for an eSCO attempt, even though it advertises eSCO support. Here is the
hcidump:

2009-09-22 15:40:24.492391 &lt; HCI Command: Setup Synchronous Connection
(0x01|0x0028) plen 17
    handle 1 voice setting 0x0060
2009-09-22 15:40:24.493002 &gt; HCI Event: Command Status (0x0f) plen 4
    Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
2009-09-22 15:40:30.594869 &gt; HCI Event: Synchronous Connect Complete (0x2c)
plen 17
    status 0x10 handle 257 bdaddr 00:50:CD:20:C6:84 type eSCO
    Error: Connection Accept Timeout Exceeded

With this patch we will retry with a SCO connection, which succeeds.

Unfortunately the Moto HF850 also takes 5 seconds to return the error for the
eSCO attempt, so it will still take 5 seconds to fallback to SCO with this
patch.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is to support the Motorola HF850 carkit which reports the error code 0x10
for an eSCO attempt, even though it advertises eSCO support. Here is the
hcidump:

2009-09-22 15:40:24.492391 &lt; HCI Command: Setup Synchronous Connection
(0x01|0x0028) plen 17
    handle 1 voice setting 0x0060
2009-09-22 15:40:24.493002 &gt; HCI Event: Command Status (0x0f) plen 4
    Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
2009-09-22 15:40:30.594869 &gt; HCI Event: Synchronous Connect Complete (0x2c)
plen 17
    status 0x10 handle 257 bdaddr 00:50:CD:20:C6:84 type eSCO
    Error: Connection Accept Timeout Exceeded

With this patch we will retry with a SCO connection, which succeeds.

Unfortunately the Moto HF850 also takes 5 seconds to return the error for the
eSCO attempt, so it will still take 5 seconds to fallback to SCO with this
patch.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Do not attempt to send dlci disconnect when in BT_CONFIG.</title>
<updated>2011-12-01T05:38:12+00:00</updated>
<author>
<name>Nick Pelly</name>
<email>npelly@google.com</email>
</author>
<published>2009-07-09T19:23:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c5b5cfb50ab83b0d5967383a0380ff378de7c6a3'/>
<id>c5b5cfb50ab83b0d5967383a0380ff378de7c6a3</id>
<content type='text'>
This fixes a bug where shutdown() and close() on a rfcomm socket during ACL
connection would not cause HCI Create Connection Cancel.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a bug where shutdown() and close() on a rfcomm socket during ACL
connection would not cause HCI Create Connection Cancel.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Paranoid network.</title>
<updated>2011-12-01T05:37:55+00:00</updated>
<author>
<name>Robert Love</name>
<email>rlove@google.com</email>
</author>
<published>2008-10-15T19:35:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=42f704a044982c33bf3aaadd6bd1b8d4db9afc32'/>
<id>42f704a044982c33bf3aaadd6bd1b8d4db9afc32</id>
<content type='text'>
With CONFIG_ANDROID_PARANOID_NETWORK, require specific uids/gids to instantiate
network sockets.

Signed-off-by: Robert Love &lt;rlove@google.com&gt;

paranoid networking: Use in_egroup_p() to check group membership

The previous group_search() caused trouble for partners with module builds.
in_egroup_p() is also cleaner.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;

Fix 2.6.29 build.

Signed-off-by: Arve Hjønnevåg &lt;arve@android.com&gt;

net: Fix compilation of the IPv6 module

Fix compilation of the IPv6 module -- current-&gt;euid does not exist anymore,
current_euid() is what needs to be used.

Signed-off-by: Steinar H. Gunderson &lt;sesse@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With CONFIG_ANDROID_PARANOID_NETWORK, require specific uids/gids to instantiate
network sockets.

Signed-off-by: Robert Love &lt;rlove@google.com&gt;

paranoid networking: Use in_egroup_p() to check group membership

The previous group_search() caused trouble for partners with module builds.
in_egroup_p() is also cleaner.

Signed-off-by: Nick Pelly &lt;npelly@google.com&gt;

Fix 2.6.29 build.

Signed-off-by: Arve Hjønnevåg &lt;arve@android.com&gt;

net: Fix compilation of the IPv6 module

Fix compilation of the IPv6 module -- current-&gt;euid does not exist anymore,
current_euid() is what needs to be used.

Signed-off-by: Steinar H. Gunderson &lt;sesse@google.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
