diff options
Diffstat (limited to 'net/bluetooth/hci_sock.c')
-rw-r--r-- | net/bluetooth/hci_sock.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c index d16ca8e53700..5ccea5fbd236 100644 --- a/net/bluetooth/hci_sock.c +++ b/net/bluetooth/hci_sock.c | |||
@@ -348,16 +348,17 @@ static inline void hci_sock_cmsg(struct sock *sk, struct msghdr *msg, struct sk_ | |||
348 | 348 | ||
349 | skb_get_timestamp(skb, &tv); | 349 | skb_get_timestamp(skb, &tv); |
350 | 350 | ||
351 | data = &tv; | ||
352 | len = sizeof(tv); | ||
353 | #ifdef CONFIG_COMPAT | ||
351 | if (msg->msg_flags & MSG_CMSG_COMPAT) { | 354 | if (msg->msg_flags & MSG_CMSG_COMPAT) { |
352 | struct compat_timeval ctv; | 355 | struct compat_timeval ctv; |
353 | ctv.tv_sec = tv.tv_sec; | 356 | ctv.tv_sec = tv.tv_sec; |
354 | ctv.tv_usec = tv.tv_usec; | 357 | ctv.tv_usec = tv.tv_usec; |
355 | data = &ctv; | 358 | data = &ctv; |
356 | len = sizeof(ctv); | 359 | len = sizeof(ctv); |
357 | } else { | ||
358 | data = &tv; | ||
359 | len = sizeof(tv); | ||
360 | } | 360 | } |
361 | #endif | ||
361 | 362 | ||
362 | put_cmsg(msg, SOL_HCI, HCI_CMSG_TSTAMP, len, data); | 363 | put_cmsg(msg, SOL_HCI, HCI_CMSG_TSTAMP, len, data); |
363 | } | 364 | } |