Loading drivers/net/macvtap.c +3 −5 Original line number Diff line number Diff line Loading @@ -847,13 +847,12 @@ static ssize_t macvtap_do_read(struct macvtap_queue *q, struct kiocb *iocb, const struct iovec *iv, unsigned long len, int noblock) { DECLARE_WAITQUEUE(wait, current); DEFINE_WAIT(wait); struct sk_buff *skb; ssize_t ret = 0; add_wait_queue(sk_sleep(&q->sk), &wait); while (len) { current->state = TASK_INTERRUPTIBLE; prepare_to_wait(sk_sleep(&q->sk), &wait, TASK_INTERRUPTIBLE); /* Read frames from the queue */ skb = skb_dequeue(&q->sk.sk_receive_queue); Loading @@ -875,8 +874,7 @@ static ssize_t macvtap_do_read(struct macvtap_queue *q, struct kiocb *iocb, break; } current->state = TASK_RUNNING; remove_wait_queue(sk_sleep(&q->sk), &wait); finish_wait(sk_sleep(&q->sk), &wait); return ret; } Loading Loading
drivers/net/macvtap.c +3 −5 Original line number Diff line number Diff line Loading @@ -847,13 +847,12 @@ static ssize_t macvtap_do_read(struct macvtap_queue *q, struct kiocb *iocb, const struct iovec *iv, unsigned long len, int noblock) { DECLARE_WAITQUEUE(wait, current); DEFINE_WAIT(wait); struct sk_buff *skb; ssize_t ret = 0; add_wait_queue(sk_sleep(&q->sk), &wait); while (len) { current->state = TASK_INTERRUPTIBLE; prepare_to_wait(sk_sleep(&q->sk), &wait, TASK_INTERRUPTIBLE); /* Read frames from the queue */ skb = skb_dequeue(&q->sk.sk_receive_queue); Loading @@ -875,8 +874,7 @@ static ssize_t macvtap_do_read(struct macvtap_queue *q, struct kiocb *iocb, break; } current->state = TASK_RUNNING; remove_wait_queue(sk_sleep(&q->sk), &wait); finish_wait(sk_sleep(&q->sk), &wait); return ret; } Loading