Loading drivers/char/diag/diagfwd_socket.c +12 −2 Original line number Diff line number Diff line Loading @@ -692,7 +692,12 @@ static void diag_socket_drop_data(struct diag_socket_info *info) if (err || pkt_len < 0) break; spin_lock_irqsave(&info->lock, flags); if (info->data_ready > 0) { info->data_ready--; } else { spin_unlock_irqrestore(&info->lock, flags); break; } spin_unlock_irqrestore(&info->lock, flags); read_len = kernel_recvmsg(info->hdl, &read_msg, &iov, 1, pkt_len, MSG_DONTWAIT); Loading Loading @@ -788,7 +793,12 @@ static int diag_socket_read(void *ctxt, unsigned char *buf, int buf_len) } spin_lock_irqsave(&info->lock, flags); if (info->data_ready > 0) { info->data_ready--; } else { spin_unlock_irqrestore(&info->lock, flags); break; } spin_unlock_irqrestore(&info->lock, flags); read_len = kernel_recvmsg(info->hdl, &read_msg, &iov, 1, Loading Loading
drivers/char/diag/diagfwd_socket.c +12 −2 Original line number Diff line number Diff line Loading @@ -692,7 +692,12 @@ static void diag_socket_drop_data(struct diag_socket_info *info) if (err || pkt_len < 0) break; spin_lock_irqsave(&info->lock, flags); if (info->data_ready > 0) { info->data_ready--; } else { spin_unlock_irqrestore(&info->lock, flags); break; } spin_unlock_irqrestore(&info->lock, flags); read_len = kernel_recvmsg(info->hdl, &read_msg, &iov, 1, pkt_len, MSG_DONTWAIT); Loading Loading @@ -788,7 +793,12 @@ static int diag_socket_read(void *ctxt, unsigned char *buf, int buf_len) } spin_lock_irqsave(&info->lock, flags); if (info->data_ready > 0) { info->data_ready--; } else { spin_unlock_irqrestore(&info->lock, flags); break; } spin_unlock_irqrestore(&info->lock, flags); read_len = kernel_recvmsg(info->hdl, &read_msg, &iov, 1, Loading