X-Git-Url: https://git.openfabrics.org/?p=~shefty%2Frdma-dev.git;a=blobdiff_plain;f=net%2Fnfc%2Fllcp_sock.c;fp=net%2Fnfc%2Fllcp_sock.c;h=38f08c31cdd878dea45df5dd8d01d2c21d90911f;hp=4950c189705e54ee770eec667baa49fc77a2cebd;hb=17a2911f3395d66694fcbd2e8970015904d9b034;hpb=a8a48e60a468084ef6ec23c78e8903c9e0ba7a4c;ds=sidebyside diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index 4950c189705..38f08c31cdd 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -555,7 +555,8 @@ static unsigned int llcp_sock_poll(struct file *file, struct socket *sock, return llcp_accept_poll(sk); if (sk->sk_err || !skb_queue_empty(&sk->sk_error_queue)) - mask |= POLLERR; + mask |= POLLERR | + (sock_flag(sk, SOCK_SELECT_ERR_QUEUE) ? POLLPRI : 0); if (!skb_queue_empty(&sk->sk_receive_queue)) mask |= POLLIN | POLLRDNORM; @@ -796,6 +797,8 @@ static int llcp_sock_recvmsg(struct kiocb *iocb, struct socket *sock, pr_debug("%p %zu\n", sk, len); + msg->msg_namelen = 0; + lock_sock(sk); if (sk->sk_state == LLCP_CLOSED && @@ -841,6 +844,7 @@ static int llcp_sock_recvmsg(struct kiocb *iocb, struct socket *sock, pr_debug("Datagram socket %d %d\n", ui_cb->dsap, ui_cb->ssap); + memset(sockaddr, 0, sizeof(*sockaddr)); sockaddr->sa_family = AF_NFC; sockaddr->nfc_protocol = NFC_PROTO_NFC_DEP; sockaddr->dsap = ui_cb->dsap;