# HG changeset patch # User root@xxxxxxxxxxxxxxxxxxxxx # Node ID 9ecd0d7fc6693e2aaceeb5e8c28af84109e9d3d8 # Parent bdcb115c667a12a5514517456639142c1273b0f1 Put watch on device node only if probe was sucessful. This fix segfault on netfront when creating more than three network devices on domU. Signed-off-by: Murillo F. Bernardes diff -r bdcb115c667a -r 9ecd0d7fc669 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Sat Dec 10 23:20:08 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Mon Dec 12 17:50:37 2005 @@ -338,6 +338,21 @@ DPRINTK(""); + if (!drv->probe) { + err = -ENODEV; + goto fail; + } + + id = match_device(drv->ids, dev); + if (!id) { + err = -ENODEV; + goto fail; + } + + err = drv->probe(dev, id); + if (err) + goto fail; + err = talk_to_otherend(dev); if (err) { printk(KERN_WARNING @@ -345,21 +360,6 @@ dev->nodename); return err; } - - if (!drv->probe) { - err = -ENODEV; - goto fail; - } - - id = match_device(drv->ids, dev); - if (!id) { - err = -ENODEV; - goto fail; - } - - err = drv->probe(dev, id); - if (err) - goto fail; return 0; fail: