switch (skb->pkt_type) { 
switch (bt_cb(skb)->pkt_type) { 
static int dtl1_hci_send_frame(struct sk_buff *skb){	dtl1_info_t *info;	struct hci_dev *hdev = (struct hci_dev *)(skb->dev);	struct sk_buff *s;	nsh_t nsh;	if (!hdev) {		BT_ERR("Frame for unknown HCI device (hdev=NULL)");		return -ENODEV;	}	info = (dtl1_info_t *)(hdev->driver_data);	switch (skb->pkt_type) {	case HCI_COMMAND_PKT:		hdev->stat.cmd_tx++;		nsh.type = 0x81;		break;	case HCI_ACLDATA_PKT:		hdev->stat.acl_tx++;		nsh.type = 0x82;		break;	case HCI_SCODATA_PKT:		hdev->stat.sco_tx++;		nsh.type = 0x83;		break;	};	nsh.zero = 0;	nsh.len = skb->len;	s = bt_skb_alloc(NSHL + skb->len + 1, GFP_ATOMIC);	skb_reserve(s, NSHL);	memcpy(skb_put(s, skb->len), skb->data, skb->len);	if (skb->len & 0x0001)		*skb_put(s, 1) = 0;	/* PAD */	/* Prepend skb with Nokia frame header and queue */	memcpy(skb_push(s, NSHL), &nsh, NSHL);	skb_queue_tail(&(info->txq), s);	dtl1_write_wakeup(info);	kfree_skb(skb);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0d48d93947dd9ea21c5cdc76a8581b06a4a39281/dtl1_cs.c/buggy/drivers/bluetooth/dtl1_cs.c