xn0: Error 2 parsing device/vif/0/mac [PATCH]
Janne Snabb
snabb at epipe.com
Mon Jan 17 10:21:50 UTC 2011
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
snabb at 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);
More information about the freebsd-xen
mailing list