On Sat, 15 Jan 2011, Janne Snabb wrote:

> On Sat, 15 Jan 2011, Janne Snabb wrote:
> 
> > It appears that that the netfront driver fails to get the vif mac 
> > address which leads to panic shortly afterwards.
> 
> The patch at the bottom of this message solves the problem for me.

This patch might be a bit neater. I found out about
xenbus_get_otherend_path().

Best Regards,
--
Janne Snabb / EPIPE Communications
sn...@epipe.com - http://epipe.com/

--- sys/dev/xen/netfront/netfront.c.orig        2010-12-21 17:09:25.000000000 
+0000
+++ sys/dev/xen/netfront/netfront.c     2011-01-17 10:11:06.000000000 +0000
@@ -401,13 +401,14 @@
 xen_net_read_mac(device_t dev, uint8_t mac[])
 {
        int error, i;
        char *s, *e, *macstr;
 
-       error = xs_read(XST_NIL, xenbus_get_node(dev), "mac", NULL,
-           (void **) &macstr);
-       if (error)
+       if ((error = xs_read(XST_NIL, xenbus_get_node(dev), "mac", NULL,
+           (void **) &macstr)) != 0 &&
+           (error = xs_read(XST_NIL, xenbus_get_otherend_path(dev), 
+           "mac", NULL, (void **) &macstr) != 0))
                return (error);
 
        s = macstr;
        for (i = 0; i < ETHER_ADDR_LEN; i++) {
                mac[i] = strtoul(s, &e, 16);
_______________________________________________
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"

Reply via email to