@@ -842,16 +842,16 @@ static int connect_ctrl_ring(struct back
unsigned int evtchn;
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 */
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,
"reading %s/event-channel-ctrl",
dev->otherend);
@@ -872,7 +872,7 @@ done:
return 0;
fail:
- return err;
+ return err ?: -ENODATA;
}
static void connect(struct backend_info *be)
For single items being collected this should be preferred as being more typesafe (as the compiler can check format string and to-be-written-to variable match) and more efficient (requiring one less parameter to be passed). Signed-off-by: Jan Beulich <jbeulich@suse.com> --- v2: Avoid commit message to continue from subject. --- drivers/net/xen-netback/xenbus.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)