software/drivers/sd8887/src/bluetooth/bt/bt_main.c
/**
 *  @brief handle received packet
 *  @param priv    A pointer to bt_private structure
 *  @param skb     A pointer to rx skb
 *
 *  @return        N/A
 */
@brief handle received packet
@param priv    A pointer to bt_private structure
@param skb     A pointer to rx skb

@return        N/A
@brief handle received packet @param priv A pointer to bt_private structure @param skb A pointer to rx skb @return N / A
void
bt_recv_frame(bt_private *priv, struct sk_buff *skb)
{
	struct hci_dev *hdev = NULL;
	if (priv->bt_dev.m_dev[BT_SEQ].spec_type == BLUEZ_SPEC)
		hdev = (struct hci_dev *)priv->bt_dev.m_dev[BT_SEQ].dev_pointer;
	if (hdev) {
		skb->dev = (void *)hdev;
		hdev->stat.byte_rx += skb->len;
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
		hci_recv_frame(skb);
#else
		hci_recv_frame(hdev, skb);
#endif
	}
	return;
}
void bt_recv_frame ( bt_private * priv , struct sk_buff * skb ) { struct hci_dev * hdev = NULL ; if ( priv -> bt_dev . m_dev [ BT_SEQ ] . spec_type == BLUEZ_SPEC ) hdev = ( struct hci_dev * ) priv -> bt_dev . m_dev [ BT_SEQ ] . dev_pointer ; if ( hdev ) { skb -> dev = ( void * ) hdev ; hdev -> stat . byte_rx += skb -> len ; #if LINUX_VERSION_CODE < KERNEL_VERSION ( 3 , 13 , 0 ) hci_recv_frame ( skb ) ; #else hci_recv_frame ( hdev , skb ) ; #endif } return ; }
@brief handle received packet
  @param priv    A pointer to bt_private structure
  @param skb     A pointer to rx skb
@brief handle received packet @param priv A pointer to bt_private structure @param skb A pointer to rx skb