summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-07-14 20:13:53 +0200
committerMarcel Holtmann <marcel@holtmann.org>2008-07-14 20:13:53 +0200
commit7cb127d5b0e7af7a0afd23785722ca3edab4ceff (patch)
tree67293f99530de5a7c826656143477ee41251750e /net/bluetooth
parentec8dab36e0738d3059980d144e34f16a26bbda7d (diff)
downloadlinux-stable-7cb127d5b0e7af7a0afd23785722ca3edab4ceff.tar.gz
linux-stable-7cb127d5b0e7af7a0afd23785722ca3edab4ceff.tar.bz2
linux-stable-7cb127d5b0e7af7a0afd23785722ca3edab4ceff.zip
[Bluetooth] Add option to disable eSCO connection creation
It has been reported that some eSCO capable headsets are not able to connect properly. The real reason for this is unclear at the moment. So for easier testing add a module parameter to disable eSCO connection creation. Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/sco.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 1ad226c9788c..8cda49874868 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -53,7 +53,9 @@
#define BT_DBG(D...)
#endif
-#define VERSION "0.5"
+#define VERSION "0.6"
+
+static int disable_esco = 0;
static const struct proto_ops sco_sock_ops;
@@ -193,7 +195,10 @@ static int sco_connect(struct sock *sk)
err = -ENOMEM;
- type = lmp_esco_capable(hdev) ? ESCO_LINK : SCO_LINK;
+ if (lmp_esco_capable(hdev) && !disable_esco)
+ type = ESCO_LINK;
+ else
+ type = SCO_LINK;
hcon = hci_connect(hdev, type, dst);
if (!hcon)
@@ -994,6 +999,9 @@ static void __exit sco_exit(void)
module_init(sco_init);
module_exit(sco_exit);
+module_param(disable_esco, bool, 0644);
+MODULE_PARM_DESC(disable_esco, "Disable eSCO connection creation");
+
MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>, Marcel Holtmann <marcel@holtmann.org>");
MODULE_DESCRIPTION("Bluetooth SCO ver " VERSION);
MODULE_VERSION(VERSION);