--- /dev/null
+From decui@microsoft.com Tue Oct 24 14:15:52 2017
+From: Dexuan Cui <decui@microsoft.com>
+Date: Thu, 19 Oct 2017 18:07:35 +0000
+Subject: vmbus: fix missing signaling in hv_signal_on_read()
+To: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>, "stable@vger.kernel.org" <stable@vger.kernel.org>
+Cc: KY Srinivasan <kys@microsoft.com>, Stephen Hemminger <stephen@networkplumber.org>, Stephen Hemminger <sthemmin@microsoft.com>
+Message-ID: <KL1P15301MB00062D18DE80DE90B4116AB4BF420@KL1P15301MB0006.APCP153.PROD.OUTLOOK.COM>
+
+From: Dexuan Cui <decui@microsoft.com>
+
+[Fixes upstream in a much larger set of patches that are not worth backporting
+to 4.9 - gregkh]
+
+When the space available before start of reading (cached_write_sz)
+is the same as the host required space (pending_sz), we need to
+still signal host.
+
+Fixes: 433e19cf33d3 ("Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()")
+
+Signed-off-by: John Starks <jon.Starks@microsoft.com>
+Signed-off-by: Dexuan Cui <decui@microsoft.com>
+Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+
+Hi Greg, as we discussed, I'm resending this patch, and please only apply
+it to linux-4.9.y (i.e. v4.9.57 as of today).
+
+ include/linux/hyperv.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/include/linux/hyperv.h
++++ b/include/linux/hyperv.h
+@@ -1521,11 +1521,11 @@ static inline void hv_signal_on_read(st
+
+ cur_write_sz = hv_get_bytes_to_write(rbi);
+
+- if (cur_write_sz < pending_sz)
++ if (cur_write_sz <= pending_sz)
+ return;
+
+ cached_write_sz = hv_get_cached_bytes_to_write(rbi);
+- if (cached_write_sz < pending_sz)
++ if (cached_write_sz <= pending_sz)
+ vmbus_setevent(channel);
+
+ return;