summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/arc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/pci/arc.c b/sys/dev/pci/arc.c
index c9ca3faa7bb..1ea92840948 100644
--- a/sys/dev/pci/arc.c
+++ b/sys/dev/pci/arc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: arc.c,v 1.33 2006/08/20 13:14:34 dlg Exp $ */
+/* $OpenBSD: arc.c,v 1.34 2006/08/20 13:56:09 dlg Exp $ */
/*
* Copyright (c) 2006 David Gwynne <dlg@openbsd.org>
@@ -357,6 +357,8 @@ struct arc_softc {
struct arc_ccb *sc_ccbs;
struct arc_ccb_list sc_ccb_free;
+ struct scsibus_softc *sc_scsibus;
+
struct rwlock sc_lock;
volatile int sc_talking;
};
@@ -470,6 +472,7 @@ arc_attach(struct device *parent, struct device *self, void *aux)
{
struct arc_softc *sc = (struct arc_softc *)self;
struct pci_attach_args *pa = aux;
+ struct device *child;
sc->sc_talking = 0;
rw_init(&sc->sc_lock, "arcmsg");
@@ -496,7 +499,8 @@ arc_attach(struct device *parent, struct device *self, void *aux)
sc->sc_link.adapter_buswidth = ARC_MAX_TARGET;
sc->sc_link.openings = sc->sc_req_count / ARC_MAX_TARGET;
- config_found(self, &sc->sc_link, scsiprint);
+ child = config_found(self, &sc->sc_link, scsiprint);
+ sc->sc_scsibus = (struct scsibus_softc *)child;
/* XXX enable interrupts */
arc_write(sc, ARC_REG_INTRMASK,