summaryrefslogtreecommitdiffstats
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
parentec8dab36e0738d3059980d144e34f16a26bbda7d (diff)
downloadkernel-crypto-7cb127d5b0e7af7a0afd23785722ca3edab4ceff.tar.gz
kernel-crypto-7cb127d5b0e7af7a0afd23785722ca3edab4ceff.tar.xz
kernel-crypto-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>
-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 1ad226c9788..8cda4987486 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);