Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
[linux-2.6.git] / drivers / bluetooth / hci_ll.c
index 2d2f66e..fb8445c 100644 (file)
 
 #include "hci_uart.h"
 
-#ifndef CONFIG_BT_HCIUART_DEBUG
-#undef  BT_DBG
-#define BT_DBG( A... )
-#endif
-
 /* HCILL commands */
 #define HCILL_GO_TO_SLEEP_IND  0x30
 #define HCILL_GO_TO_SLEEP_ACK  0x31
@@ -168,8 +163,7 @@ static int ll_close(struct hci_uart *hu)
        skb_queue_purge(&ll->tx_wait_q);
        skb_queue_purge(&ll->txq);
 
-       if (ll->rx_skb)
-               kfree_skb(ll->rx_skb);
+       kfree_skb(ll->rx_skb);
 
        hu->priv = NULL;
 
@@ -408,7 +402,7 @@ static int ll_recv(struct hci_uart *hu, void *data, int count)
                                continue;
 
                        case HCILL_W4_EVENT_HDR:
-                               eh = (struct hci_event_hdr *) ll->rx_skb->data;
+                               eh = hci_event_hdr(ll->rx_skb);
 
                                BT_DBG("Event header: evt 0x%2.2x plen %d", eh->evt, eh->plen);
 
@@ -416,7 +410,7 @@ static int ll_recv(struct hci_uart *hu, void *data, int count)
                                continue;
 
                        case HCILL_W4_ACL_HDR:
-                               ah = (struct hci_acl_hdr *) ll->rx_skb->data;
+                               ah = hci_acl_hdr(ll->rx_skb);
                                dlen = __le16_to_cpu(ah->dlen);
 
                                BT_DBG("ACL header: dlen %d", dlen);
@@ -425,7 +419,7 @@ static int ll_recv(struct hci_uart *hu, void *data, int count)
                                continue;
 
                        case HCILL_W4_SCO_HDR:
-                               sh = (struct hci_sco_hdr *) ll->rx_skb->data;
+                               sh = hci_sco_hdr(ll->rx_skb);
 
                                BT_DBG("SCO header: dlen %d", sh->dlen);
 
@@ -497,7 +491,7 @@ static int ll_recv(struct hci_uart *hu, void *data, int count)
                        BT_ERR("Can't allocate mem for new packet");
                        ll->rx_state = HCILL_W4_PACKET_TYPE;
                        ll->rx_count = 0;
-                       return 0;
+                       return -ENOMEM;
                }
 
                ll->rx_skb->dev = (void *) hu->hdev;