diff options
Diffstat (limited to 'drivers/net/xen-netback/xenbus.c')
-rw-r--r-- | drivers/net/xen-netback/xenbus.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c index d44cd19169bd..efbaf2ae1999 100644 --- a/drivers/net/xen-netback/xenbus.c +++ b/drivers/net/xen-netback/xenbus.c | |||
@@ -887,9 +887,15 @@ static int read_xenbus_vif_flags(struct backend_info *be) | |||
887 | return -EOPNOTSUPP; | 887 | return -EOPNOTSUPP; |
888 | 888 | ||
889 | if (xenbus_scanf(XBT_NIL, dev->otherend, | 889 | if (xenbus_scanf(XBT_NIL, dev->otherend, |
890 | "feature-rx-notify", "%d", &val) < 0 || val == 0) { | 890 | "feature-rx-notify", "%d", &val) < 0) |
891 | xenbus_dev_fatal(dev, -EINVAL, "feature-rx-notify is mandatory"); | 891 | val = 0; |
892 | return -EINVAL; | 892 | if (!val) { |
893 | /* - Reduce drain timeout to poll more frequently for | ||
894 | * Rx requests. | ||
895 | * - Disable Rx stall detection. | ||
896 | */ | ||
897 | be->vif->drain_timeout = msecs_to_jiffies(30); | ||
898 | be->vif->stall_timeout = 0; | ||
893 | } | 899 | } |
894 | 900 | ||
895 | if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-sg", | 901 | if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-sg", |