]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/bluetooth/hci_ldisc.c
Merge branch 'sh/genirq-threading' into sh-latest
[karo-tx-linux.git] / drivers / bluetooth / hci_ldisc.c
index 48ad2a7ab080ba9a58c425da7cc959dba0e1e3de..320f71803a2b397f75c77a930dac1bd8de8f496d 100644 (file)
@@ -359,6 +359,7 @@ static void hci_uart_tty_wakeup(struct tty_struct *tty)
  */
 static void hci_uart_tty_receive(struct tty_struct *tty, const u8 *data, char *flags, int count)
 {
+       int ret;
        struct hci_uart *hu = (void *)tty->disc_data;
 
        if (!hu || tty != hu->tty)
@@ -368,8 +369,9 @@ static void hci_uart_tty_receive(struct tty_struct *tty, const u8 *data, char *f
                return;
 
        spin_lock(&hu->rx_lock);
-       hu->proto->recv(hu, (void *) data, count);
-       hu->hdev->stat.byte_rx += count;
+       ret = hu->proto->recv(hu, (void *) data, count);
+       if (ret > 0)
+               hu->hdev->stat.byte_rx += count;
        spin_unlock(&hu->rx_lock);
 
        tty_unthrottle(tty);