Signed-off-by: Dave Young --- net/bluetooth/hci_sysfs.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff -upr linux/net/bluetooth/hci_sysfs.c linux.new/net/bluetooth/hci_sysfs.c --- linux/net/bluetooth/hci_sysfs.c 2008-02-16 06:38:56.000000000 +0800 +++ linux.new/net/bluetooth/hci_sysfs.c 2008-02-17 15:45:15.000000000 +0800 @@ -320,15 +320,14 @@ void hci_conn_add_sysfs(struct hci_conn queue_work(btaddconn, &conn->work); } +/* + * The rfcomm tty device will possibly retain even when conn + * is down, and sysfs doesn't support move zombie device, + * so we should move the device before conn device is destroyed. + */ static int __match_tty(struct device *dev, void *data) { - /* The rfcomm tty device will possibly retain even when conn - * is down, and sysfs doesn't support move zombie device, - * so we should move the device before conn device is destroyed. - * Due to the only child device of hci_conn dev is rfcomm - * tty_dev, here just return 1 - */ - return 1; + return !strncmp(dev->bus_id, "rfcomm", 6); } static void del_conn(struct work_struct *work)