diff options
-rw-r--r-- | drivers/hv/hv_util.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c index 4aa3cb63fd41..bcd06306f3e8 100644 --- a/drivers/hv/hv_util.c +++ b/drivers/hv/hv_util.c | |||
@@ -314,10 +314,14 @@ static void heartbeat_onchannelcallback(void *context) | |||
314 | u8 *hbeat_txf_buf = util_heartbeat.recv_buffer; | 314 | u8 *hbeat_txf_buf = util_heartbeat.recv_buffer; |
315 | struct icmsg_negotiate *negop = NULL; | 315 | struct icmsg_negotiate *negop = NULL; |
316 | 316 | ||
317 | vmbus_recvpacket(channel, hbeat_txf_buf, | 317 | while (1) { |
318 | PAGE_SIZE, &recvlen, &requestid); | 318 | |
319 | vmbus_recvpacket(channel, hbeat_txf_buf, | ||
320 | PAGE_SIZE, &recvlen, &requestid); | ||
321 | |||
322 | if (!recvlen) | ||
323 | break; | ||
319 | 324 | ||
320 | if (recvlen > 0) { | ||
321 | icmsghdrp = (struct icmsg_hdr *)&hbeat_txf_buf[ | 325 | icmsghdrp = (struct icmsg_hdr *)&hbeat_txf_buf[ |
322 | sizeof(struct vmbuspipe_hdr)]; | 326 | sizeof(struct vmbuspipe_hdr)]; |
323 | 327 | ||