Bluetooth: Use new hci_skb_pkt_* wrappers for drivers
Subsystems (2)
PATCH 3/3 Bluetooth: Use new hci_skb_pkt_* wrappers for drivers
From: Marcel Holtmann <[email protected]>
The new hci_skb_pkt_* wrappers are mainly intented for drivers to require less knowledge about bt_cb(sbk) handling. So after converting the core packet handling, convert all drivers.
Signed-off-by Marcel Holtmann <[email protected]>
--- drivers/bluetooth/bfusb.c | 9 ++++---- drivers/bluetooth/bluecard_cs.c | 25 ++++++++++----------- drivers/bluetooth/bpa10x.c | 4 ++-- drivers/bluetooth/bt3c_cs.c | 11 +++++----- drivers/bluetooth/btmrvl_main.c | 8 +++---- drivers/bluetooth/btmrvl_sdio.c | 4 ++-- drivers/bluetooth/btsdio.c | 6 +++--- drivers/bluetooth/btuart_cs.c | 11 +++++----- drivers/bluetooth/btusb.c | 48 ++++++++++++++++++++--------------------- drivers/bluetooth/btwilink.c | 8 +++---- drivers/bluetooth/dtl1_cs.c | 11 +++++----- drivers/bluetooth/hci_ath.c | 6 +++--- drivers/bluetooth/hci_bcm.c | 2 +- drivers/bluetooth/hci_bcsp.c | 25 ++++++++++++--------- drivers/bluetooth/hci_h4.c | 16 +++++++------- drivers/bluetooth/hci_h5.c | 14 ++++++------ drivers/bluetooth/hci_intel.c | 14 ++++++------ drivers/bluetooth/hci_ldisc.c | 5 +++-- drivers/bluetooth/hci_ll.c | 4 ++-- drivers/bluetooth/hci_qca.c | 4 ++-- drivers/bluetooth/hci_vhci.c | 8 +++---- 21 files changed, 127 insertions(+), 116 deletions(-)
drivers/bluetooth/bfusb.c +5 -4
@@ -324,7 +324,7 @@ static inline int bfusb_recv_block(struct bfusb_data *data, int hdr, unsigned chreturn -ENOMEM ; } -bt_cb (skb)->pkt_type = pkt_type; +hci_skb_pkt_type (skb) = pkt_type; data->reassembly = skb; }else {
@@ -469,9 +469,10 @@ static int bfusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb)unsigned char buf[3 ];int sent =0 , size, count; -BT_DBG ("hdev %p skb %p type %d len %d" , hdev, skb,bt_cb (skb)->pkt_type, skb->len); +BT_DBG ("hdev %p skb %p type %d len %d" , hdev, skb, +hci_skb_pkt_type (skb), skb->len); -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : hdev->stat.cmd_tx++;break ;
@@ -484,7 +485,7 @@ static int bfusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb) }/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 ); count = skb->len;
drivers/bluetooth/bluecard_cs.c +13 -12
@@ -261,7 +261,7 @@ static void bluecard_write_wakeup(struct bluecard_info *info)if (!skb)break ; -if (bt_cb (skb)->pkt_type &0x80 ) { +if (hci_skb_pkt_type (skb) &0x80 ) {/* Disable RTS */ info->ctrl_reg |=REG_CONTROL_RTS ;outb (info->ctrl_reg, iobase +REG_CONTROL );
@@ -279,13 +279,13 @@ static void bluecard_write_wakeup(struct bluecard_info *info)/* Mark the buffer as dirty */ clear_bit (ready_bit, &(info->tx_state)); -if (bt_cb (skb)->pkt_type &0x80 ) { +if (hci_skb_pkt_type (skb) &0x80 ) {DECLARE_WAIT_QUEUE_HEAD_ONSTACK (wq);DEFINE_WAIT (wait);unsigned char baud_reg; -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case PKT_BAUD_RATE_460800 : baud_reg =REG_CONTROL_BAUD_RATE_460800 ;break ;
@@ -402,9 +402,9 @@ static void bluecard_receive(struct bluecard_info *info,if (info->rx_state ==RECV_WAIT_PACKET_TYPE ) { -bt_cb (info->rx_skb)->pkt_type = buf[i]; +hci_skb_pkt_type (info->rx_skb) = buf[i]; -switch (bt_cb (info->rx_skb)->pkt_type) { +switch (hci_skb_pkt_type (info->rx_skb)) {case 0x00 :/* init packet */
@@ -436,7 +436,8 @@ static void bluecard_receive(struct bluecard_info *info,default :/* unknown packet */ -BT_ERR ("Unknown HCI packet with type 0x%02x received" ,bt_cb (info->rx_skb)->pkt_type); +BT_ERR ("Unknown HCI packet with type 0x%02x received" , +hci_skb_pkt_type (info->rx_skb)); info->hdev->stat.err_rx++;kfree_skb (info->rx_skb);
@@ -578,21 +579,21 @@ static int bluecard_hci_set_baud_rate(struct hci_dev *hdev, int baud)switch (baud) {case 460800 : cmd[4 ] =0x00 ; -bt_cb (skb)->pkt_type =PKT_BAUD_RATE_460800 ; +hci_skb_pkt_type (skb) =PKT_BAUD_RATE_460800 ;break ;case 230400 : cmd[4 ] =0x01 ; -bt_cb (skb)->pkt_type =PKT_BAUD_RATE_230400 ; +hci_skb_pkt_type (skb) =PKT_BAUD_RATE_230400 ;break ;case 115200 : cmd[4 ] =0x02 ; -bt_cb (skb)->pkt_type =PKT_BAUD_RATE_115200 ; +hci_skb_pkt_type (skb) =PKT_BAUD_RATE_115200 ;break ;case 57600 :/* Fall through... */ default : cmd[4 ] =0x03 ; -bt_cb (skb)->pkt_type =PKT_BAUD_RATE_57600 ; +hci_skb_pkt_type (skb) =PKT_BAUD_RATE_57600 ;break ; }
@@ -660,7 +661,7 @@ static int bluecard_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb) {struct bluecard_info *info =hci_get_drvdata (hdev); -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : hdev->stat.cmd_tx++;break ;
@@ -673,7 +674,7 @@ static int bluecard_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb) }/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );skb_queue_tail (&(info->txq), skb);bluecard_write_wakeup (info);
drivers/bluetooth/bpa10x.c +2 -2
@@ -295,9 +295,9 @@ static int bpa10x_send_frame(struct hci_dev *hdev, struct sk_buff *skb)return -ENOMEM ;/* Prepend skb with frame type */ - *skb_push (skb,1 ) =bt_cb (skb)->pkt_type; + *skb_push (skb,1 ) =hci_skb_pkt_type (skb); -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : dr =kmalloc (sizeof (*dr),GFP_ATOMIC );if (!dr) {
drivers/bluetooth/bt3c_cs.c +6 -5
@@ -246,10 +246,10 @@ static void bt3c_receive(struct bt3c_info *info)if (info->rx_state ==RECV_WAIT_PACKET_TYPE ) { -bt_cb (info->rx_skb)->pkt_type =inb (iobase +DATA_L ); +hci_skb_pkt_type (info->rx_skb) =inb (iobase +DATA_L );inb (iobase +DATA_H ); -switch (bt_cb (info->rx_skb)->pkt_type) { +switch (hci_skb_pkt_type (info->rx_skb)) {case HCI_EVENT_PKT : info->rx_state =RECV_WAIT_EVENT_HEADER ;
@@ -268,7 +268,8 @@ static void bt3c_receive(struct bt3c_info *info)default :/* Unknown packet */ -BT_ERR ("Unknown HCI packet with type 0x%02x received" ,bt_cb (info->rx_skb)->pkt_type); +BT_ERR ("Unknown HCI packet with type 0x%02x received" , +hci_skb_pkt_type (info->rx_skb)); info->hdev->stat.err_rx++;kfree_skb (info->rx_skb);
@@ -411,7 +412,7 @@ static int bt3c_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb)struct bt3c_info *info =hci_get_drvdata (hdev);unsigned long flags; -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : hdev->stat.cmd_tx++;break ;
@@ -424,7 +425,7 @@ static int bt3c_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb) }/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );skb_queue_tail (&(info->txq), skb);spin_lock_irqsave (&(info->lock), flags);
drivers/bluetooth/btmrvl_main.c +4 -4
@@ -196,7 +196,7 @@ static int btmrvl_send_sync_cmd(struct btmrvl_private *priv, u16 opcode,if (len)memcpy (skb_put (skb, len), param, len); -bt_cb (skb)->pkt_type =MRVL_VENDOR_PKT ; +hci_skb_pkt_type (skb) =MRVL_VENDOR_PKT ;skb_queue_head (&priv->adapter->tx_queue, skb);
@@ -387,7 +387,7 @@ static int btmrvl_tx_pkt(struct btmrvl_private *priv, struct sk_buff *skb) skb->data[0 ] = (skb->len &0x0000ff ); skb->data[1 ] = (skb->len &0x00ff00 ) >>8 ; skb->data[2 ] = (skb->len &0xff0000 ) >>16 ; - skb->data[3 ] =bt_cb (skb)->pkt_type; + skb->data[3 ] =hci_skb_pkt_type (skb);if (priv->hw_host_to_card) ret = priv->hw_host_to_card (priv, skb->data, skb->len);
@@ -434,9 +434,9 @@ static int btmrvl_send_frame(struct hci_dev *hdev, struct sk_buff *skb) {struct btmrvl_private *priv =hci_get_drvdata (hdev); -BT_DBG ("type=%d, len=%d" , skb->pkt_type, skb->len); +BT_DBG ("type=%d, len=%d" ,hci_skb_pkt_type (skb), skb->len); -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : hdev->stat.cmd_tx++;break ;
drivers/bluetooth/btmrvl_sdio.c +2 -2
@@ -698,7 +698,7 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv)case HCI_ACLDATA_PKT :case HCI_SCODATA_PKT :case HCI_EVENT_PKT : -bt_cb (skb)->pkt_type = type; +hci_skb_pkt_type (skb) = type;skb_put (skb, buf_len);skb_pull (skb,SDIO_HEADER_LEN );
@@ -713,7 +713,7 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv)break ;case MRVL_VENDOR_PKT : -bt_cb (skb)->pkt_type =HCI_VENDOR_PKT ; +hci_skb_pkt_type (skb) =HCI_VENDOR_PKT ;skb_put (skb, buf_len);skb_pull (skb,SDIO_HEADER_LEN );
drivers/bluetooth/btsdio.c +3 -3
@@ -86,7 +86,7 @@ static int btsdio_tx_packet(struct btsdio_data *data, struct sk_buff *skb) skb->data[0 ] = (skb->len &0x0000ff ); skb->data[1 ] = (skb->len &0x00ff00 ) >>8 ; skb->data[2 ] = (skb->len &0xff0000 ) >>16 ; - skb->data[3 ] =bt_cb (skb)->pkt_type; + skb->data[3 ] =hci_skb_pkt_type (skb); err =sdio_writesb (data->func,REG_TDAT , skb->data, skb->len);if (err <0 ) {
@@ -158,7 +158,7 @@ static int btsdio_rx_packet(struct btsdio_data *data) data->hdev->stat.byte_rx += len; -bt_cb (skb)->pkt_type = hdr[3 ]; +hci_skb_pkt_type (skb) = hdr[3 ]; err =hci_recv_frame (data->hdev, skb);if (err <0 )
@@ -252,7 +252,7 @@ static int btsdio_send_frame(struct hci_dev *hdev, struct sk_buff *skb)BT_DBG ("%s" , hdev->name); -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : hdev->stat.cmd_tx++;break ;
drivers/bluetooth/btuart_cs.c +6 -5
@@ -200,9 +200,9 @@ static void btuart_receive(struct btuart_info *info)if (info->rx_state ==RECV_WAIT_PACKET_TYPE ) { -bt_cb (info->rx_skb)->pkt_type =inb (iobase +UART_RX ); +hci_skb_pkt_type (info->rx_skb) =inb (iobase +UART_RX ); -switch (bt_cb (info->rx_skb)->pkt_type) { +switch (hci_skb_pkt_type (info->rx_skb)) {case HCI_EVENT_PKT : info->rx_state =RECV_WAIT_EVENT_HEADER ;
@@ -221,7 +221,8 @@ static void btuart_receive(struct btuart_info *info)default :/* Unknown packet */ -BT_ERR ("Unknown HCI packet with type 0x%02x received" ,bt_cb (info->rx_skb)->pkt_type); +BT_ERR ("Unknown HCI packet with type 0x%02x received" , +hci_skb_pkt_type (info->rx_skb)); info->hdev->stat.err_rx++;kfree_skb (info->rx_skb);
@@ -424,7 +425,7 @@ static int btuart_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb) {struct btuart_info *info =hci_get_drvdata (hdev); -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : hdev->stat.cmd_tx++;break ;
@@ -437,7 +438,7 @@ static int btuart_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb) }/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );skb_queue_tail (&(info->txq), skb);btuart_write_wakeup (info);
drivers/bluetooth/btusb.c +24 -24
134 lines not on this page · raw message
drivers/bluetooth/btwilink.c +4 -4
@@ -249,10 +249,10 @@ static int ti_st_send_frame(struct hci_dev *hdev, struct sk_buff *skb) hst =hci_get_drvdata (hdev);/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 ); -BT_DBG ("%s: type %d len %d" , hdev->name,bt_cb (skb)->pkt_type, - skb->len); +BT_DBG ("%s: type %d len %d" , hdev->name,hci_skb_pkt_type (skb), + skb->len);/* Insert skb to shared transport layer's transmit queue. * Freeing skb memory is taken care in shared transport layer,
@@ -268,7 +268,7 @@ static int ti_st_send_frame(struct hci_dev *hdev, struct sk_buff *skb)/* ST accepted our skb. So, Go ahead and do rest */ hdev->stat.byte_tx += len; -ti_st_tx_complete (hst,bt_cb (skb)->pkt_type); +ti_st_tx_complete (hst,hci_skb_pkt_type (skb));return 0 ; }
drivers/bluetooth/dtl1_cs.c +6 -5
@@ -239,7 +239,7 @@ static void dtl1_receive(struct dtl1_info *info) info->rx_count = nsh->len + (nsh->len &0x0001 );break ;case RECV_WAIT_DATA : -bt_cb (info->rx_skb)->pkt_type = nsh->type; +hci_skb_pkt_type (info->rx_skb) = nsh->type;/* remove PAD byte if it exists */ if (nsh->len &0x0001 ) {
@@ -250,7 +250,7 @@ static void dtl1_receive(struct dtl1_info *info)/* remove NSH */ skb_pull (info->rx_skb,NSHL ); -switch (bt_cb (info->rx_skb)->pkt_type) { +switch (hci_skb_pkt_type (info->rx_skb)) {case 0x80 :/* control data for the Nokia Card */ dtl1_control (info, info->rx_skb);
@@ -259,12 +259,13 @@ static void dtl1_receive(struct dtl1_info *info)case 0x83 :case 0x84 :/* send frame to the HCI layer */ -bt_cb (info->rx_skb)->pkt_type &=0x0f ; +hci_skb_pkt_type (info->rx_skb) &=0x0f ;hci_recv_frame (info->hdev, info->rx_skb);break ;default :/* unknown packet */ -BT_ERR ("Unknown HCI packet with type 0x%02x received" ,bt_cb (info->rx_skb)->pkt_type); +BT_ERR ("Unknown HCI packet with type 0x%02x received" , +hci_skb_pkt_type (info->rx_skb));kfree_skb (info->rx_skb);break ; }
@@ -386,7 +387,7 @@ static int dtl1_hci_send_frame(struct hci_dev *hdev, struct sk_buff *skb)struct sk_buff *s;struct nsh nsh; -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : hdev->stat.cmd_tx++; nsh.type =0x81 ;
drivers/bluetooth/hci_ath.c +3 -3
@@ -205,7 +205,7 @@ static int ath_enqueue(struct hci_uart *hu, struct sk_buff *skb) {struct ath_struct *ath = hu->priv; -if (bt_cb (skb)->pkt_type ==HCI_SCODATA_PKT ) { +if (hci_skb_pkt_type (skb) ==HCI_SCODATA_PKT ) {kfree_skb (skb);return 0 ; }
@@ -213,7 +213,7 @@ static int ath_enqueue(struct hci_uart *hu, struct sk_buff *skb)/* Update power management enable flag with parameters of * HCI sleep enable vendor specific HCI command. */ -if (bt_cb (skb)->pkt_type ==HCI_COMMAND_PKT ) { +if (hci_skb_pkt_type (skb) ==HCI_COMMAND_PKT ) {struct hci_command_hdr *hdr = (void *)skb->data;if (__le16_to_cpu (hdr->opcode) ==HCI_OP_ATH_SLEEP )
@@ -223,7 +223,7 @@ static int ath_enqueue(struct hci_uart *hu, struct sk_buff *skb)BT_DBG ("hu %p skb %p" , hu, skb);/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );skb_queue_tail (&ath->txq, skb);set_bit (HCI_UART_SENDING , &hu->tx_state);
drivers/bluetooth/hci_bcm.c +1 -1
@@ -472,7 +472,7 @@ static int bcm_enqueue(struct hci_uart *hu, struct sk_buff *skb)bt_dev_dbg (hu->hdev,"hu %p skb %p" , hu, skb);/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );skb_queue_tail (&bcm->txq, skb);return 0 ;
drivers/bluetooth/hci_bcsp.c +15 -10
@@ -155,7 +155,7 @@ static int bcsp_enqueue(struct hci_uart *hu, struct sk_buff *skb)return 0 ; } -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_ACLDATA_PKT :case HCI_COMMAND_PKT :skb_queue_tail (&bcsp->rel, skb);
@@ -231,7 +231,7 @@ static struct sk_buff *bcsp_prepare_pkt(struct bcsp_struct *bcsp, u8 *data,if (!nskb)return NULL ; -bt_cb (nskb)->pkt_type = pkt_type; +hci_skb_pkt_type (nskb) = pkt_type;bcsp_slip_msgdelim (nskb);
@@ -291,7 +291,10 @@ static struct sk_buff *bcsp_dequeue(struct hci_uart *hu) skb =skb_dequeue (&bcsp->unrel);if (skb !=NULL ) { -struct sk_buff *nskb =bcsp_prepare_pkt (bcsp, skb->data, skb->len,bt_cb (skb)->pkt_type); +struct sk_buff *nskb; + + nskb =bcsp_prepare_pkt (bcsp, skb->data, skb->len, +hci_skb_pkt_type (skb));if (nskb) {kfree_skb (skb);return nskb;
@@ -310,8 +313,10 @@ static struct sk_buff *bcsp_dequeue(struct hci_uart *hu)if (bcsp->unack.qlen <BCSP_TXWINSIZE ) { skb =skb_dequeue (&bcsp->rel);if (skb !=NULL ) { -struct sk_buff *nskb =bcsp_prepare_pkt (bcsp, skb->data, skb->len, -bt_cb (skb)->pkt_type); +struct sk_buff *nskb; + + nskb =bcsp_prepare_pkt (bcsp, skb->data, skb->len, +hci_skb_pkt_type (skb));if (nskb) {__skb_queue_tail (&bcsp->unack, skb);mod_timer (&bcsp->tbcsp, jiffies +HZ /4 );
@@ -412,7 +417,7 @@ static void bcsp_handle_le_pkt(struct hci_uart *hu)if (!nskb)return ;memcpy (skb_put (nskb,4 ), conf_rsp_pkt,4 ); -bt_cb (nskb)->pkt_type =BCSP_LE_PKT ; +hci_skb_pkt_type (nskb) =BCSP_LE_PKT ;skb_queue_head (&bcsp->unrel, nskb);hci_uart_tx_wakeup (hu);
@@ -494,14 +499,14 @@ static void bcsp_complete_rx_pkt(struct hci_uart *hu)bcsp_pkt_cull (bcsp);if ((bcsp->rx_skb->data[1 ] &0x0f ) ==6 && bcsp->rx_skb->data[0 ] &0x80 ) { -bt_cb (bcsp->rx_skb)->pkt_type =HCI_ACLDATA_PKT ; +hci_skb_pkt_type (bcsp->rx_skb) =HCI_ACLDATA_PKT ; pass_up =1 ; }else if ((bcsp->rx_skb->data[1 ] &0x0f ) ==5 && bcsp->rx_skb->data[0 ] &0x80 ) { -bt_cb (bcsp->rx_skb)->pkt_type =HCI_EVENT_PKT ; +hci_skb_pkt_type (bcsp->rx_skb) =HCI_EVENT_PKT ; pass_up =1 ; }else if ((bcsp->rx_skb->data[1 ] &0x0f ) ==7 ) { -bt_cb (bcsp->rx_skb)->pkt_type =HCI_SCODATA_PKT ; +hci_skb_pkt_type (bcsp->rx_skb) =HCI_SCODATA_PKT ; pass_up =1 ; }else if ((bcsp->rx_skb->data[1 ] &0x0f ) ==1 && !(bcsp->rx_skb->data[0 ] &0x80 )) {
@@ -523,7 +528,7 @@ static void bcsp_complete_rx_pkt(struct hci_uart *hu) hdr.evt =0xff ; hdr.plen = bcsp->rx_skb->len;memcpy (skb_push (bcsp->rx_skb,HCI_EVENT_HDR_SIZE ), &hdr,HCI_EVENT_HDR_SIZE ); -bt_cb (bcsp->rx_skb)->pkt_type =HCI_EVENT_PKT ; +hci_skb_pkt_type (bcsp->rx_skb) =HCI_EVENT_PKT ;hci_recv_frame (hu->hdev, bcsp->rx_skb); }else {
drivers/bluetooth/hci_h4.c +8 -8
@@ -108,7 +108,7 @@ static int h4_enqueue(struct hci_uart *hu, struct sk_buff *skb)BT_DBG ("hu %p skb %p" , hu, skb);/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );skb_queue_tail (&h4->txq, skb);return 0 ;
@@ -184,8 +184,8 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,if (!skb)return ERR_PTR (-ENOMEM ); -bt_cb (skb)->pkt_type = (&pkts[i])->type; -bt_cb (skb)->expect = (&pkts[i])->hlen; +hci_skb_pkt_type (skb) = (&pkts[i])->type; +hci_skb_expect (skb) = (&pkts[i])->hlen;break ; }
@@ -197,18 +197,18 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb, buffer +=1 ; } - len =min_t (uint,bt_cb (skb)->expect - skb->len, count); + len =min_t (uint,hci_skb_expect (skb) - skb->len, count);memcpy (skb_put (skb, len), buffer, len); count -= len; buffer += len;/* Check for partial packet */ -if (skb->len <bt_cb (skb)->expect) +if (skb->len <hci_skb_expect (skb))continue ;for (i =0 ; i < pkts_count; i++) { -if (bt_cb (skb)->pkt_type == (&pkts[i])->type) +if (hci_skb_pkt_type (skb) == (&pkts[i])->type)break ; }
@@ -228,7 +228,7 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,case 1 :/* Single octet variable length */ dlen = skb->data[(&pkts[i])->loff]; -bt_cb (skb)->expect += dlen; +hci_skb_expect (skb) += dlen;if (skb_tailroom (skb) < dlen) {kfree_skb (skb);
@@ -239,7 +239,7 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,/* Double octet variable length */ dlen =get_unaligned_le16 (skb->data + (&pkts[i])->loff); -bt_cb (skb)->expect += dlen; +hci_skb_expect (skb) += dlen;if (skb_tailroom (skb) < dlen) {kfree_skb (skb);
drivers/bluetooth/hci_h5.c +7 -7
@@ -107,7 +107,7 @@ static void h5_link_control(struct hci_uart *hu, const void *data, size_t len)if (!nskb)return ; -bt_cb (nskb)->pkt_type =HCI_3WIRE_LINK_PKT ; +hci_skb_pkt_type (nskb) =HCI_3WIRE_LINK_PKT ;memcpy (skb_put (nskb, len), data, len);
@@ -360,7 +360,7 @@ static void h5_complete_rx_pkt(struct hci_uart *hu)case HCI_EVENT_PKT :case HCI_ACLDATA_PKT :case HCI_SCODATA_PKT : -bt_cb (h5->rx_skb)->pkt_type =H5_HDR_PKT_TYPE (hdr); +hci_skb_pkt_type (h5->rx_skb) =H5_HDR_PKT_TYPE (hdr);/* Remove Three-wire header */ skb_pull (h5->rx_skb,4 );
@@ -562,7 +562,7 @@ static int h5_enqueue(struct hci_uart *hu, struct sk_buff *skb)return 0 ; } -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_ACLDATA_PKT :case HCI_COMMAND_PKT :skb_queue_tail (&h5->rel, skb);
@@ -573,7 +573,7 @@ static int h5_enqueue(struct hci_uart *hu, struct sk_buff *skb)break ;default : -BT_ERR ("Unknown packet type %u" ,bt_cb (skb)->pkt_type); +BT_ERR ("Unknown packet type %u" ,hci_skb_pkt_type (skb));kfree_skb (skb);break ; }
@@ -642,7 +642,7 @@ static struct sk_buff *h5_prepare_pkt(struct hci_uart *hu, u8 pkt_type,if (!nskb)return NULL ; -bt_cb (nskb)->pkt_type = pkt_type; +hci_skb_pkt_type (nskb) = pkt_type;h5_slip_delim (nskb);
@@ -697,7 +697,7 @@ static struct sk_buff *h5_dequeue(struct hci_uart *hu) skb =skb_dequeue (&h5->unrel);if (skb) { - nskb =h5_prepare_pkt (hu,bt_cb (skb)->pkt_type, + nskb =h5_prepare_pkt (hu,hci_skb_pkt_type (skb), skb->data, skb->len);if (nskb) {kfree_skb (skb);
@@ -715,7 +715,7 @@ static struct sk_buff *h5_dequeue(struct hci_uart *hu) skb =skb_dequeue (&h5->rel);if (skb) { - nskb =h5_prepare_pkt (hu,bt_cb (skb)->pkt_type, + nskb =h5_prepare_pkt (hu,hci_skb_pkt_type (skb), skb->data, skb->len);if (nskb) {__skb_queue_tail (&h5->unack, skb);
drivers/bluetooth/hci_intel.c +7 -7
@@ -186,7 +186,7 @@ static int intel_lpm_suspend(struct hci_uart *hu) }memcpy (skb_put (skb,sizeof (suspend)), suspend,sizeof (suspend)); -bt_cb (skb)->pkt_type =HCI_LPM_PKT ; +hci_skb_pkt_type (skb) =HCI_LPM_PKT ;set_bit (STATE_LPM_TRANSACTION , &intel->flags);
@@ -230,7 +230,7 @@ static int intel_lpm_resume(struct hci_uart *hu)return -ENOMEM ; } -bt_cb (skb)->pkt_type =HCI_LPM_WAKE_PKT ; +hci_skb_pkt_type (skb) =HCI_LPM_WAKE_PKT ;set_bit (STATE_LPM_TRANSACTION , &intel->flags);
@@ -272,7 +272,7 @@ static int intel_lpm_host_wake(struct hci_uart *hu)memcpy (skb_put (skb,sizeof (lpm_resume_ack)), lpm_resume_ack,sizeof (lpm_resume_ack)); -bt_cb (skb)->pkt_type =HCI_LPM_PKT ; +hci_skb_pkt_type (skb) =HCI_LPM_PKT ;/* LPM flow is a priority, enqueue packet at list head */ skb_queue_head (&intel->txq, skb);
@@ -467,7 +467,7 @@ static int inject_cmd_complete(struct hci_dev *hdev, __u16 opcode) *skb_put (skb,1 ) =0x00 ; -bt_cb (skb)->pkt_type =HCI_EVENT_PKT ; +hci_skb_pkt_type (skb) =HCI_EVENT_PKT ;return hci_recv_frame (hdev, skb); }
@@ -517,7 +517,7 @@ static int intel_set_baudrate(struct hci_uart *hu, unsigned int speed) }memcpy (skb_put (skb,sizeof (speed_cmd)), speed_cmd,sizeof (speed_cmd)); -bt_cb (skb)->pkt_type =HCI_COMMAND_PKT ; +hci_skb_pkt_type (skb) =HCI_COMMAND_PKT ;hci_uart_set_flow_control (hu, true);
@@ -1126,7 +1126,7 @@ static struct sk_buff *intel_dequeue(struct hci_uart *hu)return skb;if (test_bit (STATE_BOOTLOADER , &intel->flags) && - (bt_cb (skb)->pkt_type ==HCI_COMMAND_PKT )) { + (hci_skb_pkt_type (skb) ==HCI_COMMAND_PKT )) {struct hci_command_hdr *cmd = (void *)skb->data;__u16 opcode =le16_to_cpu (cmd->opcode);
@@ -1140,7 +1140,7 @@ static struct sk_buff *intel_dequeue(struct hci_uart *hu) }/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );return skb; }
drivers/bluetooth/hci_ldisc.c +3 -2
@@ -162,7 +162,7 @@ restart:break ; } -hci_uart_tx_complete (hu,bt_cb (skb)->pkt_type); +hci_uart_tx_complete (hu,hci_skb_pkt_type (skb));kfree_skb (skb); }
@@ -248,7 +248,8 @@ static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb) {struct hci_uart *hu =hci_get_drvdata (hdev); -BT_DBG ("%s: type %d len %d" , hdev->name,bt_cb (skb)->pkt_type, skb->len); +BT_DBG ("%s: type %d len %d" , hdev->name,hci_skb_pkt_type (skb), + skb->len); hu->proto->enqueue (hu, skb);
drivers/bluetooth/hci_ll.c +2 -2
@@ -307,7 +307,7 @@ static int ll_enqueue(struct hci_uart *hu, struct sk_buff *skb)BT_DBG ("hu %p skb %p" , hu, skb);/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );/* lock hcill state */ spin_lock_irqsave (&ll->hcill_lock, flags);
@@ -493,7 +493,7 @@ static int ll_recv(struct hci_uart *hu, const void *data, int count)return -ENOMEM ; } -bt_cb (ll->rx_skb)->pkt_type = type; +hci_skb_pkt_type (ll->rx_skb) = type; }return count;
drivers/bluetooth/hci_qca.c +2 -2
@@ -678,7 +678,7 @@ static int qca_enqueue(struct hci_uart *hu, struct sk_buff *skb) qca->tx_ibs_state);/* Prepend skb with frame type */ -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );/* Don't go to sleep in middle of patch download or * Out-Of-Band(GPIOs control) sleep is selected.
@@ -873,7 +873,7 @@ static int qca_set_baudrate(struct hci_dev *hdev, uint8_t baudrate)/* Assign commands to change baudrate and packet type. */ memcpy (skb_put (skb,sizeof (cmd)), cmd,sizeof (cmd)); -bt_cb (skb)->pkt_type =HCI_COMMAND_PKT ; +hci_skb_pkt_type (skb) =HCI_COMMAND_PKT ;skb_queue_tail (&qca->txq, skb);hci_uart_tx_wakeup (hu);
drivers/bluetooth/hci_vhci.c +4 -4
@@ -80,7 +80,7 @@ static int vhci_send_frame(struct hci_dev *hdev, struct sk_buff *skb) {struct vhci_data *data =hci_get_drvdata (hdev); -memcpy (skb_push (skb,1 ), &bt_cb (skb)->pkt_type,1 ); +memcpy (skb_push (skb,1 ), &hci_skb_pkt_type (skb),1 );skb_queue_tail (&data->readq, skb);wake_up_interruptible (&data->read_wait);
@@ -140,7 +140,7 @@ static int vhci_create_device(struct vhci_data *data, __u8 opcode)return -EBUSY ; } -bt_cb (skb)->pkt_type =HCI_VENDOR_PKT ; +hci_skb_pkt_type (skb) =HCI_VENDOR_PKT ; *skb_put (skb,1 ) =0xff ; *skb_put (skb,1 ) = opcode;
@@ -183,7 +183,7 @@ static inline ssize_t vhci_get_user(struct vhci_data *data,return -ENODEV ; } -bt_cb (skb)->pkt_type = pkt_type; +hci_skb_pkt_type (skb) = pkt_type; ret =hci_recv_frame (data->hdev, skb);break ;
@@ -234,7 +234,7 @@ static inline ssize_t vhci_put_user(struct vhci_data *data, data->hdev->stat.byte_tx += len; -switch (bt_cb (skb)->pkt_type) { +switch (hci_skb_pkt_type (skb)) {case HCI_COMMAND_PKT : data->hdev->stat.cmd_tx++;break ;
Signature · 1 line
2.5.0