NFC: Add support for SO_TIMESTAMP LLCP socket option
Set timestamp in sent and received sk_buffs. timestamp is then put in msghdr structure in llcp_sock_recvmsg(). Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Родитель
e7f767a7d9
Коммит
2c2d45bdcb
|
@ -304,6 +304,8 @@ int nfc_llcp_send_symm(struct nfc_dev *dev)
|
|||
|
||||
skb = llcp_add_header(skb, 0, 0, LLCP_PDU_SYMM);
|
||||
|
||||
__net_timestamp(skb);
|
||||
|
||||
nfc_llcp_send_to_raw_sock(local, skb, NFC_LLCP_DIRECTION_TX);
|
||||
|
||||
return nfc_data_exchange(dev, local->target_idx, skb,
|
||||
|
|
|
@ -668,6 +668,8 @@ static void nfc_llcp_tx_work(struct work_struct *work)
|
|||
if (ptype == LLCP_PDU_I)
|
||||
copy_skb = skb_copy(skb, GFP_ATOMIC);
|
||||
|
||||
__net_timestamp(skb);
|
||||
|
||||
nfc_llcp_send_to_raw_sock(local, skb,
|
||||
NFC_LLCP_DIRECTION_TX);
|
||||
|
||||
|
@ -1245,6 +1247,8 @@ static void nfc_llcp_rx_work(struct work_struct *work)
|
|||
print_hex_dump(KERN_DEBUG, "LLCP Rx: ", DUMP_PREFIX_OFFSET,
|
||||
16, 1, skb->data, skb->len, true);
|
||||
|
||||
__net_timestamp(skb);
|
||||
|
||||
nfc_llcp_send_to_raw_sock(local, skb, NFC_LLCP_DIRECTION_RX);
|
||||
|
||||
switch (ptype) {
|
||||
|
|
|
@ -678,6 +678,8 @@ static int llcp_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
|
|||
return -EFAULT;
|
||||
}
|
||||
|
||||
sock_recv_timestamp(msg, sk, skb);
|
||||
|
||||
if (sk->sk_type == SOCK_DGRAM && msg->msg_name) {
|
||||
struct nfc_llcp_ui_cb *ui_cb = nfc_llcp_ui_skb_cb(skb);
|
||||
struct sockaddr_nfc_llcp sockaddr;
|
||||
|
|
Загрузка…
Ссылка в новой задаче