Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: arch/microblaze/include/asm/socket.h
This commit is contained in:
@@ -2080,28 +2080,41 @@ static CLASS_ATTR(rfcomm_dlc, S_IRUGO, rfcomm_dlc_sysfs_show, NULL);
|
||||
/* ---- Initialization ---- */
|
||||
static int __init rfcomm_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
l2cap_load();
|
||||
|
||||
hci_register_cb(&rfcomm_cb);
|
||||
|
||||
rfcomm_thread = kthread_run(rfcomm_run, NULL, "krfcommd");
|
||||
if (IS_ERR(rfcomm_thread)) {
|
||||
hci_unregister_cb(&rfcomm_cb);
|
||||
return PTR_ERR(rfcomm_thread);
|
||||
ret = PTR_ERR(rfcomm_thread);
|
||||
goto out_thread;
|
||||
}
|
||||
|
||||
if (class_create_file(bt_class, &class_attr_rfcomm_dlc) < 0)
|
||||
BT_ERR("Failed to create RFCOMM info file");
|
||||
|
||||
rfcomm_init_sockets();
|
||||
ret = rfcomm_init_ttys();
|
||||
if (ret)
|
||||
goto out_tty;
|
||||
|
||||
#ifdef CONFIG_BT_RFCOMM_TTY
|
||||
rfcomm_init_ttys();
|
||||
#endif
|
||||
ret = rfcomm_init_sockets();
|
||||
if (ret)
|
||||
goto out_sock;
|
||||
|
||||
BT_INFO("RFCOMM ver %s", VERSION);
|
||||
|
||||
return 0;
|
||||
|
||||
out_sock:
|
||||
rfcomm_cleanup_ttys();
|
||||
out_tty:
|
||||
kthread_stop(rfcomm_thread);
|
||||
out_thread:
|
||||
hci_unregister_cb(&rfcomm_cb);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void __exit rfcomm_exit(void)
|
||||
@@ -2112,9 +2125,7 @@ static void __exit rfcomm_exit(void)
|
||||
|
||||
kthread_stop(rfcomm_thread);
|
||||
|
||||
#ifdef CONFIG_BT_RFCOMM_TTY
|
||||
rfcomm_cleanup_ttys();
|
||||
#endif
|
||||
|
||||
rfcomm_cleanup_sockets();
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user