Patchwork [Raring] Fix bluetoothd crash on Nexus7

login
register
mail settings
Submitter Jani Monoses
Date Dec. 6, 2012, 7:50 a.m.
Message ID <k9piol$cuj$1@ger.gmane.org>
Download mbox | patch
Permalink /patch/204173/
State New
Headers show

Comments

Jani Monoses - Dec. 6, 2012, 7:50 a.m.
This reverts an Android specific patch that causes bluetoothd to crash.
The bug was found by Mursalin Akon and a .deb tested by Till Kamppeter.

https://bugs.launchpad.net/ubuntu-nexus7/+bug/1070770
Tim Gardner - Dec. 6, 2012, 2:47 p.m.
Uploaded 3.1.10-8.17

Remember to sign your patches.

Patch

From 5c584b27b1ec1d1118ccb104fe35a4b2f05e57bc Mon Sep 17 00:00:00 2001
From: Jani Monoses <jani@ubuntu.com>
Date: Thu, 6 Dec 2012 00:33:38 +0200
Subject: [PATCH] Revert "Bluetooth: Add ACL MTU, available buffers and total
 buffers to hci_conn_info."

This reverts commit d4076ae3b7eff09f9d4c1f4193572e27db59dbd9 in order to
fix bluetoothd crashing. (Thanks to Mursalin Akon)

BugLink: https://bugs.launchpad.net/ubuntu-nexus7/+bug/1070770
---
 include/net/bluetooth/hci.h |    3 ---
 net/bluetooth/hci_conn.c    |   18 ------------------
 2 files changed, 21 deletions(-)

diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 915d7ae..cabbeb4 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -1264,9 +1264,6 @@  struct hci_conn_info {
 	__u8     out;
 	__u16    state;
 	__u32    link_mode;
-	__u32    mtu;
-	__u32    cnt;
-	__u32    pkts;
 };
 
 struct hci_dev_req {
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 33c4e0c..b73e9f1 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -907,15 +907,6 @@  int hci_get_conn_list(void __user *arg)
 		(ci + n)->out   = c->out;
 		(ci + n)->state = c->state;
 		(ci + n)->link_mode = c->link_mode;
-		if (c->type == SCO_LINK) {
-			(ci + n)->mtu = hdev->sco_mtu;
-			(ci + n)->cnt = hdev->sco_cnt;
-			(ci + n)->pkts = hdev->sco_pkts;
-		} else {
-			(ci + n)->mtu = hdev->acl_mtu;
-			(ci + n)->cnt = hdev->acl_cnt;
-			(ci + n)->pkts = hdev->acl_pkts;
-		}
 		if (++n >= req.conn_num)
 			break;
 	}
@@ -952,15 +943,6 @@  int hci_get_conn_info(struct hci_dev *hdev, void __user *arg)
 		ci.out   = conn->out;
 		ci.state = conn->state;
 		ci.link_mode = conn->link_mode;
-		if (req.type == SCO_LINK) {
-			ci.mtu = hdev->sco_mtu;
-			ci.cnt = hdev->sco_cnt;
-			ci.pkts = hdev->sco_pkts;
-		} else {
-			ci.mtu = hdev->acl_mtu;
-			ci.cnt = hdev->acl_cnt;
-			ci.pkts = hdev->acl_pkts;
-		}
 	}
 	hci_dev_unlock_bh(hdev);
 
-- 
1.7.10.4