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 5c65014..fb8445c 100644 (file)
@@ -402,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);
 
@@ -410,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);
@@ -419,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);
 
@@ -491,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;