summaryrefslogtreecommitdiff
path: root/sys/dev/sbus/if_le.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sbus/if_le.c')
-rw-r--r--sys/dev/sbus/if_le.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/sbus/if_le.c b/sys/dev/sbus/if_le.c
index b17ae99a308..87d9ad58837 100644
--- a/sys/dev/sbus/if_le.c
+++ b/sys/dev/sbus/if_le.c
@@ -163,6 +163,7 @@ leattach_sbus(parent, self, aux)
struct am7990_softc *sc = &lesc->sc_am7990;
bus_dma_tag_t dmatag;
struct sbusdev *sd;
+ struct bootpath *bp;
/* XXX the following declarations should be elsewhere */
extern void myetheraddr __P((u_char *));
@@ -180,6 +181,12 @@ leattach_sbus(parent, self, aux)
return;
}
+ bp = sa->sa_bp;
+ if (bp != NULL && strcmp(bp->name, le_cd.cd_name) == 0 &&
+ ((bp->val[0] == sa->sa_slot && bp->val[1] == sa->sa_offset) ||
+ (bp->val[0] == -1 && bp->val[1] == sc->sc_dev.dv_unit)))
+ bp->dev = &sc->sc_dev;
+
/*
* Look for an "unallocated" lebuffer and pair it with
* this `le' device on the assumption that we're on