|
@@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct backend_info *be)
|
|
unsigned int evtchn;
|
|
unsigned int evtchn;
|
|
int err;
|
|
int err;
|
|
|
|
|
|
- err = xenbus_gather(XBT_NIL, dev->otherend,
|
|
|
|
- "ctrl-ring-ref", "%u", &val, NULL);
|
|
|
|
- if (err)
|
|
|
|
|
|
+ err = xenbus_scanf(XBT_NIL, dev->otherend,
|
|
|
|
+ "ctrl-ring-ref", "%u", &val);
|
|
|
|
+ if (err < 0)
|
|
goto done; /* The frontend does not have a control ring */
|
|
goto done; /* The frontend does not have a control ring */
|
|
|
|
|
|
ring_ref = val;
|
|
ring_ref = val;
|
|
|
|
|
|
- err = xenbus_gather(XBT_NIL, dev->otherend,
|
|
|
|
- "event-channel-ctrl", "%u", &val, NULL);
|
|
|
|
- if (err) {
|
|
|
|
|
|
+ err = xenbus_scanf(XBT_NIL, dev->otherend,
|
|
|
|
+ "event-channel-ctrl", "%u", &val);
|
|
|
|
+ if (err < 0) {
|
|
xenbus_dev_fatal(dev, err,
|
|
xenbus_dev_fatal(dev, err,
|
|
"reading %s/event-channel-ctrl",
|
|
"reading %s/event-channel-ctrl",
|
|
dev->otherend);
|
|
dev->otherend);
|