summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/umass_scsi.c
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2006-11-28 23:59:45 +0000
committerdlg <dlg@openbsd.org>2006-11-28 23:59:45 +0000
commit73d09fc56bd87109cdbe2d90369b3c6a93a5e94e (patch)
tree489a1b920e2f327a4553184e9dddca9852de0863 /sys/dev/usb/umass_scsi.c
parentI just don't know why I decided to set block count to 512 unconditionaly (diff)
downloadwireguard-openbsd-73d09fc56bd87109cdbe2d90369b3c6a93a5e94e.tar.xz
wireguard-openbsd-73d09fc56bd87109cdbe2d90369b3c6a93a5e94e.zip
give scsi controllers a real attach args to fill in when attaching scsibus.
ok miod@ marco@ deraadt@
Diffstat (limited to 'sys/dev/usb/umass_scsi.c')
-rw-r--r--sys/dev/usb/umass_scsi.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/dev/usb/umass_scsi.c b/sys/dev/usb/umass_scsi.c
index 575f232f62b..ddf33188013 100644
--- a/sys/dev/usb/umass_scsi.c
+++ b/sys/dev/usb/umass_scsi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: umass_scsi.c,v 1.13 2005/05/25 21:12:54 krw Exp $ */
+/* $OpenBSD: umass_scsi.c,v 1.14 2006/11/28 23:59:45 dlg Exp $ */
/* $NetBSD: umass_scsipi.c,v 1.9 2003/02/16 23:14:08 augustss Exp $ */
/*
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -93,6 +93,7 @@ struct scsi_device umass_atapiscsi_dev = { NULL, NULL, NULL, NULL, };
int
umass_scsi_attach(struct umass_softc *sc)
{
+ struct scsibus_attach_args saa;
struct umass_scsi_softc *scbus;
scbus = umass_scsi_setup(sc);
@@ -102,13 +103,14 @@ umass_scsi_attach(struct umass_softc *sc)
scbus->sc_link.flags |= SDEV_UMASS;
scbus->sc_link.device = &umass_scsi_dev;
+
DPRINTF(UDMASS_USB, ("%s: umass_attach_bus: SCSI\n"
"sc = 0x%x, scbus = 0x%x\n",
USBDEVNAME(sc->sc_dev), sc, scbus));
sc->sc_refcnt++;
scbus->base.sc_child =
- config_found((struct device *)sc, &scbus->sc_link, scsiprint);
+ config_found((struct device *)sc, &saa, scsiprint);
if (--sc->sc_refcnt < 0)
usb_detach_wakeup(USBDEV(sc->sc_dev));
@@ -119,6 +121,7 @@ umass_scsi_attach(struct umass_softc *sc)
int
umass_atapi_attach(struct umass_softc *sc)
{
+ struct scsibus_attach_args saa;
struct umass_scsi_softc *scbus;
scbus = umass_scsi_setup(sc);
@@ -128,13 +131,16 @@ umass_atapi_attach(struct umass_softc *sc)
scbus->sc_link.flags |= SDEV_ATAPI;
scbus->sc_link.device = &umass_atapiscsi_dev;
+ bzero(&saa, sizeof(saa));
+ saa.saa_sc_link = &scbus->sc_link;
+
DPRINTF(UDMASS_USB, ("%s: umass_attach_bus: ATAPI\n"
"sc = 0x%x, scbus = 0x%x\n",
USBDEVNAME(sc->sc_dev), sc, scbus));
sc->sc_refcnt++;
- scbus->base.sc_child =
- config_found((struct device *)sc, &scbus->sc_link, scsiprint);
+ scbus->base.sc_child = config_found((struct device *)sc,
+ &saa, scsiprint);
if (--sc->sc_refcnt < 0)
usb_detach_wakeup(USBDEV(sc->sc_dev));