--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
-@@ -282,8 +282,13 @@ static int hci_uart_tty_open(struct tty_
+@@ -273,8 +273,13 @@ static int hci_uart_tty_open(struct tty_
/* FIXME: why is this needed. Note don't use ldisc_ref here as the
open path is before the ldisc is referencable */
tty_driver_flush_buffer(tty);
return 0;
-@@ -398,7 +403,9 @@ static int hci_uart_register_dev(struct
+@@ -390,7 +395,9 @@ static int hci_uart_register_dev(struct
+ hdev->close = hci_uart_close;
hdev->flush = hci_uart_flush;
hdev->send = hci_uart_send_frame;
- hdev->destruct = hci_uart_destruct;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)
hdev->parent = hu->tty->dev;
+#endif
- hdev->owner = THIS_MODULE;
-
-@@ -498,7 +505,11 @@ static int hci_uart_tty_ioctl(struct tty
+ if (!reset)
+ set_bit(HCI_QUIRK_NO_RESET, &hdev->quirks);
+@@ -488,7 +495,11 @@ static int hci_uart_tty_ioctl(struct tty
return hu->hdev_flags;
default: