]> git.karo-electronics.de Git - linux-beck.git/blobdiff - net/iucv/af_iucv.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux-beck.git] / net / iucv / af_iucv.c
index a7d11ffe428428f25194702c5728562fd87a8e2b..e165e8dc962e7ea98ab22312709022f572ca4a89 100644 (file)
@@ -1328,6 +1328,8 @@ static int iucv_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
        struct sk_buff *skb, *rskb, *cskb;
        int err = 0;
 
+       msg->msg_namelen = 0;
+
        if ((sk->sk_state == IUCV_DISCONN) &&
            skb_queue_empty(&iucv->backlog_skb_q) &&
            skb_queue_empty(&sk->sk_receive_queue) &&
@@ -1461,7 +1463,8 @@ unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
                return iucv_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 (sk->sk_shutdown & RCV_SHUTDOWN)
                mask |= POLLRDHUP;