Bluetooth update for 2.6
Subsystems (2)
Hi Dave,
here are my pending bugfixes for the 2.6.19 kernel. They should resolve various Bugzilla reports and other issues reported over the last couple of weeks. Please forward them to Linus as soon as possible.
Regards
Marcel
Please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6.git
This will update the following files:
drivers/bluetooth/bcm203x.c | 17 +++----- include/net/bluetooth/hci_core.h | 17 ++++++++ net/bluetooth/af_bluetooth.c | 38 ++++++++++++++---- net/bluetooth/bnep/core.c | 4 - net/bluetooth/bnep/sock.c | 69 ++++++++++++++++++++++++--------- net/bluetooth/cmtp/sock.c | 35 ++++++++++++++++- net/bluetooth/hci_conn.c | 6 +- net/bluetooth/hci_event.c | 15 +++++-- net/bluetooth/hci_sock.c | 2 net/bluetooth/hci_sysfs.c | 17 ++++---- net/bluetooth/hidp/core.c | 8 +-- net/bluetooth/hidp/sock.c | 80 ++++++++++++++++++++++++++++++++++++++- net/bluetooth/l2cap.c | 5 +- net/bluetooth/rfcomm/core.c | 3 - net/bluetooth/rfcomm/sock.c | 6 +- net/bluetooth/rfcomm/tty.c | 7 +-- net/bluetooth/sco.c | 6 +- 17 files changed, 264 insertions(+), 71 deletions(-)
through these ChangeSets:
Commit: a712c36b91da9a514b6a0422dc9dcc5bb7ade305
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:31:19 +0200
[Bluetooth] Use work queue to trigger URB submission
The bcm203x firmware loading driver uses a timer to trigger the URB submission. It is better to use a work queue instead.
Commit: ecf49920b7a4dbd5186a52ea1755f9cd41636e56
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:31:14 +0200
[Bluetooth] Add locking for bt_proto array manipulation
The bt_proto array needs to be protected by some kind of locking to prevent a race condition between bt_sock_create and bt_sock_register.
And in addition all calls to sk_alloc need to be made GFP_ATOMIC now.
Commit: f988274ac38b5257eddac8b9d04d471f21691897
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:31:10 +0200
[Bluetooth] Check if DLC is still attached to the TTY
If the DLC device is no longer attached to the TTY device, then it makes no sense to go through with changing the termios settings.
Commit: fff5558a9c5a03ea5c04eaaac78cf2ca98cce018
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:31:05 +0200
[Bluetooth] Fix reference count when connection lookup fails
When the connection lookup for the device structure fails, the reference count for the HCI device needs to be decremented.
Commit: a3b3a59dba17ccb9effaa1eb2773e1efbb6ece89
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:31:00 +0200
[Bluetooth] Disconnect HID interrupt channel first
The Bluetooth HID specification demands that the interrupt channel shall be disconnected first. This is needed to pass the qualification tests.
Commit: 49f0ce71de260c6cebf232b7e6865453af9a5056
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:30:56 +0200
[Bluetooth] Support concurrent connect requests
Most Bluetooth chips don't support concurrent connect requests, because this would involve a multiple baseband page with only one radio. In the case an upper layer like L2CAP requests a concurrent connect these chips return the error "Command Disallowed" for the second request. If this happens it the responsibility of the Bluetooth core to queue the request and try again after the previous connect attempt has been completed.
Commit: 8100163b3e5c7d3d248d51b5bcb009c35ea9db63
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:30:50 +0200
[Bluetooth] Make use of virtual devices tree
The Bluetooth subsystem currently uses a platform device for devices with no parent. It is a better idea to use the new virtual devices tree for these.
Commit: c9f320a15ef6d6d31e4063c118ed097266f6be13
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:30:45 +0200
[Bluetooth] Handle return values from driver core functions
Some return values of the driver core register and create functions are not handled and so might cause unexpected problems.
Commit: 3def4bc6d9f77d4c66298b094ff3723b2a2d23e5
Author: Marcel Holtmann <[email protected]> Sun, 15 Oct 2006 17:30:22 +0200
[Bluetooth] Fix compat ioctl for BNEP, CMTP and HIDP
There exists no attempt do deal with the fact that a structure with a uint32_t followed by a pointer is going to be different for 32-bit and 64-bit userspace. Any 32-bit process trying to use it will be failing with -EFAULT if it's lucky; suffering from having data dumped at a random address if it's not.
David Miller
maintainerFrom: Marcel Holtmann <[email protected]>
Date: Sun, 15 Oct 2006 18:10:24 +0200
Quoted 4 lines
Please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6.git
Pulled, thanks a lot Marcel.