Skip to content

Commit

Permalink
Bluetooth: Unobfuscate tasklet_schedule usage
Browse files Browse the repository at this point in the history
The tasklet schedule function helpers are just an obfuscation. So remove
them and call the schedule functions directly.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Marcel Holtmann committed Dec 3, 2009
1 parent 76bca88 commit c78ae28
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 28 deletions.
16 changes: 0 additions & 16 deletions include/net/bluetooth/hci_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -367,22 +367,6 @@ static inline void hci_conn_put(struct hci_conn *conn)
}
}

/* ----- HCI tasks ----- */
static inline void hci_sched_cmd(struct hci_dev *hdev)
{
tasklet_schedule(&hdev->cmd_task);
}

static inline void hci_sched_rx(struct hci_dev *hdev)
{
tasklet_schedule(&hdev->rx_task);
}

static inline void hci_sched_tx(struct hci_dev *hdev)
{
tasklet_schedule(&hdev->tx_task);
}

/* ----- HCI Devices ----- */
static inline void __hci_dev_put(struct hci_dev *d)
{
Expand Down
18 changes: 12 additions & 6 deletions net/bluetooth/hci_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,9 @@ static void hci_init_req(struct hci_dev *hdev, unsigned long opt)
while ((skb = skb_dequeue(&hdev->driver_init))) {
bt_cb(skb)->pkt_type = HCI_COMMAND_PKT;
skb->dev = (void *) hdev;

skb_queue_tail(&hdev->cmd_q, skb);
hci_sched_cmd(hdev);
tasklet_schedule(&hdev->cmd_task);
}
skb_queue_purge(&hdev->driver_init);

Expand Down Expand Up @@ -1005,7 +1006,8 @@ int hci_recv_frame(struct sk_buff *skb)

/* Queue frame for rx task */
skb_queue_tail(&hdev->rx_q, skb);
hci_sched_rx(hdev);
tasklet_schedule(&hdev->rx_task);

return 0;
}
EXPORT_SYMBOL(hci_recv_frame);
Expand Down Expand Up @@ -1216,8 +1218,9 @@ int hci_send_cmd(struct hci_dev *hdev, __u16 opcode, __u32 plen, void *param)

bt_cb(skb)->pkt_type = HCI_COMMAND_PKT;
skb->dev = (void *) hdev;

skb_queue_tail(&hdev->cmd_q, skb);
hci_sched_cmd(hdev);
tasklet_schedule(&hdev->cmd_task);

return 0;
}
Expand Down Expand Up @@ -1294,7 +1297,8 @@ int hci_send_acl(struct hci_conn *conn, struct sk_buff *skb, __u16 flags)
spin_unlock_bh(&conn->data_q.lock);
}

hci_sched_tx(hdev);
tasklet_schedule(&hdev->tx_task);

return 0;
}
EXPORT_SYMBOL(hci_send_acl);
Expand All @@ -1321,8 +1325,10 @@ int hci_send_sco(struct hci_conn *conn, struct sk_buff *skb)

skb->dev = (void *) hdev;
bt_cb(skb)->pkt_type = HCI_SCODATA_PKT;

skb_queue_tail(&conn->data_q, skb);
hci_sched_tx(hdev);
tasklet_schedule(&hdev->tx_task);

return 0;
}
EXPORT_SYMBOL(hci_send_sco);
Expand Down Expand Up @@ -1635,7 +1641,7 @@ static void hci_cmd_task(unsigned long arg)
hdev->cmd_last_tx = jiffies;
} else {
skb_queue_head(&hdev->cmd_q, skb);
hci_sched_cmd(hdev);
tasklet_schedule(&hdev->cmd_task);
}
}
}
6 changes: 3 additions & 3 deletions net/bluetooth/hci_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -1320,7 +1320,7 @@ static inline void hci_cmd_complete_evt(struct hci_dev *hdev, struct sk_buff *sk
if (ev->ncmd) {
atomic_set(&hdev->cmd_cnt, 1);
if (!skb_queue_empty(&hdev->cmd_q))
hci_sched_cmd(hdev);
tasklet_schedule(&hdev->cmd_task);
}
}

Expand Down Expand Up @@ -1386,7 +1386,7 @@ static inline void hci_cmd_status_evt(struct hci_dev *hdev, struct sk_buff *skb)
if (ev->ncmd) {
atomic_set(&hdev->cmd_cnt, 1);
if (!skb_queue_empty(&hdev->cmd_q))
hci_sched_cmd(hdev);
tasklet_schedule(&hdev->cmd_task);
}
}

Expand Down Expand Up @@ -1454,7 +1454,7 @@ static inline void hci_num_comp_pkts_evt(struct hci_dev *hdev, struct sk_buff *s
}
}

hci_sched_tx(hdev);
tasklet_schedule(&hdev->tx_task);

tasklet_enable(&hdev->tx_task);
}
Expand Down
6 changes: 3 additions & 3 deletions net/bluetooth/hci_sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,10 +445,10 @@ static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock,

if (test_bit(HCI_RAW, &hdev->flags) || (ogf == 0x3f)) {
skb_queue_tail(&hdev->raw_q, skb);
hci_sched_tx(hdev);
tasklet_schedule(&hdev->tx_task);
} else {
skb_queue_tail(&hdev->cmd_q, skb);
hci_sched_cmd(hdev);
tasklet_schedule(&hdev->cmd_task);
}
} else {
if (!capable(CAP_NET_RAW)) {
Expand All @@ -457,7 +457,7 @@ static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
}

skb_queue_tail(&hdev->raw_q, skb);
hci_sched_tx(hdev);
tasklet_schedule(&hdev->tx_task);
}

err = len;
Expand Down

0 comments on commit c78ae28

Please sign in to comment.