switch (skb->pkt_type) { 
switch (bt_cb(skb)->pkt_type) { 
void hci_rx_task(unsigned long arg){	struct hci_dev *hdev = (struct hci_dev *) arg;	struct sk_buff *skb;	BT_DBG("%s", hdev->name);	read_lock(&hci_task_lock);	while ((skb = skb_dequeue(&hdev->rx_q))) {		if (atomic_read(&hdev->promisc)) {			/* Send copy to the sockets */			hci_send_to_sock(hdev, skb);		}		if (test_bit(HCI_RAW, &hdev->flags)) {			kfree_skb(skb);			continue;		}		if (test_bit(HCI_INIT, &hdev->flags)) {			/* Don't process data packets in this states. */			switch (skb->pkt_type) {			case HCI_ACLDATA_PKT:			case HCI_SCODATA_PKT:				kfree_skb(skb);				continue;			};		}		/* Process frame */		switch (skb->pkt_type) {		case HCI_EVENT_PKT:			hci_event_packet(hdev, skb);			break;		case HCI_ACLDATA_PKT:			BT_DBG("%s ACL data packet", hdev->name);			hci_acldata_packet(hdev, skb);			break;		case HCI_SCODATA_PKT:			BT_DBG("%s SCO data packet", hdev->name);			hci_scodata_packet(hdev, skb);			break;		default:			kfree_skb(skb);			break;		}	}	read_unlock(&hci_task_lock);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0d48d93947dd9ea21c5cdc76a8581b06a4a39281/hci_core.c/clean/net/bluetooth/hci_core.c