summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/rfcomm/sock.c
diff options
context:
space:
mode:
authorDave Young <hidave.darkstar@gmail.com>2009-08-03 04:26:16 +0000
committerDavid S. Miller <davem@davemloft.net>2009-08-03 13:24:39 -0700
commitaf0d3b103bcfa877343ee338de12002cd50c9ee5 (patch)
treea06b348fae8d295b17e7620d00df6701f678d449 /net/bluetooth/rfcomm/sock.c
parenteb4ad826419ab5b1260bc1625249114767d36bea (diff)
downloadkernel-crypto-af0d3b103bcfa877343ee338de12002cd50c9ee5.tar.gz
kernel-crypto-af0d3b103bcfa877343ee338de12002cd50c9ee5.tar.xz
kernel-crypto-af0d3b103bcfa877343ee338de12002cd50c9ee5.zip
bluetooth: rfcomm_init bug fix
rfcomm tty may be used before rfcomm_tty_driver initilized, The problem is that now socket layer init before tty layer, if userspace program do socket callback right here then oops will happen. reporting in: http://marc.info/?l=linux-bluetooth&m=124404919324542&w=2 make 3 changes: 1. remove #ifdef in rfcomm/core.c, make it blank function when rfcomm tty not selected in rfcomm.h 2. tune the rfcomm_init error patch to ensure tty driver initilized before rfcomm socket usage. 3. remove __exit for rfcomm_cleanup_sockets because above change need call it in a __init function. Reported-by: Oliver Hartkopp <oliver@hartkopp.net> Tested-by: Oliver Hartkopp <oliver@hartkopp.net> Signed-off-by: Dave Young <hidave.darkstar@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bluetooth/rfcomm/sock.c')
-rw-r--r--net/bluetooth/rfcomm/sock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index 7f482784e9f..0b85e811685 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -1132,7 +1132,7 @@ error:
return err;
}
-void __exit rfcomm_cleanup_sockets(void)
+void rfcomm_cleanup_sockets(void)
{
class_remove_file(bt_class, &class_attr_rfcomm);