Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[cascardo/linux.git] / drivers / bluetooth / hci_ldisc.c
index dda9739..9497c46 100644 (file)
@@ -697,34 +697,36 @@ static int hci_uart_tty_ioctl(struct tty_struct *tty, struct file *file,
        case HCIUARTSETPROTO:
                if (!test_and_set_bit(HCI_UART_PROTO_SET, &hu->flags)) {
                        err = hci_uart_set_proto(hu, arg);
-                       if (err) {
+                       if (err)
                                clear_bit(HCI_UART_PROTO_SET, &hu->flags);
-                               return err;
-                       }
                } else
-                       return -EBUSY;
+                       err = -EBUSY;
                break;
 
        case HCIUARTGETPROTO:
                if (test_bit(HCI_UART_PROTO_SET, &hu->flags))
-                       return hu->proto->id;
-               return -EUNATCH;
+                       err = hu->proto->id;
+               else
+                       err = -EUNATCH;
+               break;
 
        case HCIUARTGETDEVICE:
                if (test_bit(HCI_UART_REGISTERED, &hu->flags))
-                       return hu->hdev->id;
-               return -EUNATCH;
+                       err = hu->hdev->id;
+               else
+                       err = -EUNATCH;
+               break;
 
        case HCIUARTSETFLAGS:
                if (test_bit(HCI_UART_PROTO_SET, &hu->flags))
-                       return -EBUSY;
-               err = hci_uart_set_flags(hu, arg);
-               if (err)
-                       return err;
+                       err = -EBUSY;
+               else
+                       err = hci_uart_set_flags(hu, arg);
                break;
 
        case HCIUARTGETFLAGS:
-               return hu->hdev_flags;
+               err = hu->hdev_flags;
+               break;
 
        default:
                err = n_tty_ioctl_helper(tty, file, cmd, arg);
@@ -810,6 +812,9 @@ static int __init hci_uart_init(void)
 #ifdef CONFIG_BT_HCIUART_AG6XX
        ag6xx_init();
 #endif
+#ifdef CONFIG_BT_HCIUART_MRVL
+       mrvl_init();
+#endif
 
        return 0;
 }
@@ -845,6 +850,9 @@ static void __exit hci_uart_exit(void)
 #ifdef CONFIG_BT_HCIUART_AG6XX
        ag6xx_deinit();
 #endif
+#ifdef CONFIG_BT_HCIUART_MRVL
+       mrvl_deinit();
+#endif
 
        /* Release tty registration of line discipline */
        err = tty_unregister_ldisc(N_HCI);