Browse Source

uio_hv_generic: check that host supports monitor page

In order for userspace application to signal host, it needs the
host to support the monitor page property. Check for the flag
and fail if this is not supported.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stephen Hemminger 7 năm trước cách đây
mục cha
commit
06028d1517
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 7 0
      drivers/uio/uio_hv_generic.c

+ 7 - 0
drivers/uio/uio_hv_generic.c

@@ -133,6 +133,13 @@ hv_uio_probe(struct hv_device *dev,
 	if (ret)
 		goto fail;
 
+	/* Communicating with host has to be via shared memory not hypercall */
+	if (!dev->channel->offermsg.monitor_allocated) {
+		dev_err(&dev->device, "vmbus channel requires hypercall\n");
+		ret = -ENOTSUPP;
+		goto fail_close;
+	}
+
 	dev->channel->inbound.ring_buffer->interrupt_mask = 1;
 	set_channel_read_mode(dev->channel, HV_CALL_ISR);