]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: Prevent transparent SCO on older devices
authorFrédéric Dalleau <frederic.dalleau@linux.intel.com>
Mon, 19 Aug 2013 12:24:01 +0000 (14:24 +0200)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 21 Aug 2013 14:47:12 +0000 (16:47 +0200)
commit79f8071159500e8eb6cbad96b5aa74a51fae8542
tree50dafbbecdae221a96143df5842cc29239fce0ce
parentcc21e80005c0096c0fcc9f4f233179c88d2a763c
Bluetooth: Prevent transparent SCO on older devices

Older Bluetooth devices may not support Setup Synchronous Connection or
SCO transparent data. This is indicated by the corresponding LMP feature
bits. It is not possible to know if the adapter support these features
before setting BT_VOICE option since the socket is not bound to an
adapter. An adapter can also be added after the socket is created. The
socket can be bound to an address before adapter is plugged in.

Thus, on a such adapters, if user request BT_VOICE_TRANSPARENT, outgoing
connections fail on connect() and returns -EOPNOTSUPP. Incoming
connections do not fail. However, they should only be allowed depending
on what was specified in Write_Voice_Settings command.

EOPNOTSUPP is choosen because connect() system call is failing after
selecting route but before any connection attempt.

Signed-off-by: Frédéric Dalleau <frederic.dalleau@linux.intel.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/sco.c