Pull request: bluetooth-2.6 2009-12-17
Subsystems (4)
Marcel Holtmann
maintainerHi Dave,
here are a few fixes for inclusion into 2.6.33 kernel. They are all small and mostly one-liners.
Regards
Marcel
Please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6.git master
This will update the following files:
drivers/bluetooth/btusb.c | 1 + net/bluetooth/hidp/core.c | 2 +- net/bluetooth/l2cap.c | 5 +++-- 3 files changed, 5 insertions(+), 3 deletions(-)
through these ChangeSets:
Andrei Emeltchenko (1):
Bluetooth: Fix L2CAP locking scheme regression
Gustavo F. Padovan (2):
Bluetooth: Fix unset of RemoteBusy flag for L2CAP
Bluetooth: Ack L2CAP I-frames before retransmit missing packet
Oliver Neukum (1):
Bluetooth: Prevent ill-timed autosuspend in USB driver
Roel Kluin (1):
Bluetooth: Fix PTR_ERR return of wrong pointer in hidp_setup_hid()
Marcel Holtmann
maintainerPATCH 1/5 Bluetooth: Fix PTR_ERR return of wrong pointer in hidp_setup_hid()
From: Roel Kluin <[email protected]>
Return the PTR_ERR of the correct pointer.
--- net/bluetooth/hidp/core.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
net/bluetooth/hidp/core.c +1 -1
@@ -770,7 +770,7 @@ static int hidp_setup_hid(struct hidp_session *session, hid =hid_allocate_device ();if (IS_ERR (hid)) -return PTR_ERR (session->hid); +return PTR_ERR (hid); session->hid = hid; session->req = req;
Signature · 1 line
1.6.5.2
Marcel Holtmann
maintainerPATCH 2/5 Bluetooth: Fix unset of RemoteBusy flag for L2CAP
From: Gustavo F. Padovan <[email protected]>
RemoteBusy flag need to be unset before l2cap_ertm_send(), otherwise l2cap_ertm_send() will return without sending packets because it checks that flag before start sending.
--- net/bluetooth/l2cap.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
net/bluetooth/l2cap.c +1 -1
@@ -3435,8 +3435,8 @@ static inline int l2cap_data_channel_sframe(struct sock *sk, u16 rx_control, str (pi->unacked_frames > 0))__mod_retrans_timer (); -l2cap_ertm_send (sk); pi->conn_state &= ~L2CAP_CONN_REMOTE_BUSY ; +l2cap_ertm_send (sk); }break ;
Signature · 1 line
1.6.5.2
Marcel Holtmann
maintainerPATCH 3/5 Bluetooth: Ack L2CAP I-frames before retransmit missing packet
From: Gustavo F. Padovan <[email protected]>
Moving the Ack to before l2cap_retransmit_frame() we can avoid the case where txWindow is full and the packet can't be retransmited.
--- net/bluetooth/l2cap.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
net/bluetooth/l2cap.c +1 -1
@@ -3471,9 +3471,9 @@ static inline int l2cap_data_channel_sframe(struct sock *sk, u16 rx_control, str pi->conn_state &= ~L2CAP_CONN_REMOTE_BUSY ;if (rx_control &L2CAP_CTRL_POLL ) { -l2cap_retransmit_frame (sk, tx_seq); pi->expected_ack_seq = tx_seq;l2cap_drop_acked_frames (sk); +l2cap_retransmit_frame (sk, tx_seq);l2cap_ertm_send (sk);if (pi->conn_state &L2CAP_CONN_WAIT_F ) { pi->srej_save_reqseq = tx_seq;
Signature · 1 line
1.6.5.2
Marcel Holtmann
maintainerPATCH 4/5 Bluetooth: Fix L2CAP locking scheme regression
From: Andrei Emeltchenko <[email protected]>
When locking was introduced the error path branch was not taken into account. Error was found in sparse code checking. Kudos to Jani Nikula.
--- net/bluetooth/l2cap.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
net/bluetooth/l2cap.c +1 -0
@@ -1212,6 +1212,7 @@ static void l2cap_monitor_timeout(unsigned long arg)bh_lock_sock (sk);if (l2cap_pi (sk)->retry_count >=l2cap_pi (sk)->remote_max_tx) {l2cap_send_disconn_req (l2cap_pi (sk)->conn, sk); +bh_unlock_sock (sk);return ; }
Signature · 1 line
1.6.5.2
Marcel Holtmann
maintainerPATCH 5/5 Bluetooth: Prevent ill-timed autosuspend in USB driver
From: Oliver Neukum <[email protected]>
The device must be marked busy as it receives data.
--- drivers/bluetooth/btusb.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/bluetooth/btusb.c +1 -0
@@ -307,6 +307,7 @@ static void btusb_bulk_complete(struct urb *urb)return ;usb_anchor_urb (urb, &data->bulk_anchor); +usb_mark_last_busy (data->udev); err =usb_submit_urb (urb,GFP_ATOMIC );if (err <0 ) {
Signature · 1 line
1.6.5.2
David Miller
maintainerFrom: Marcel Holtmann <[email protected]>
Date: Thu, 17 Dec 2009 12:22:42 -0800
Quoted 2 lines
here are a few fixes for inclusion into 2.6.33 kernel. They are all small and mostly one-liners.
Pulled, thanks a lot!