diff options
author | krw <krw@openbsd.org> | 2020-07-11 14:48:53 +0000 |
---|---|---|
committer | krw <krw@openbsd.org> | 2020-07-11 14:48:53 +0000 |
commit | 51b504e01d154214d4f4b09ea9c85c5ffa40060f (patch) | |
tree | 21bb9a8d58d686d1513eb6661bd00b7510efb82e | |
parent | Expunge some Captain Obvious comments to make upcoming diff(s) smaller (diff) | |
download | wireguard-openbsd-51b504e01d154214d4f4b09ea9c85c5ffa40060f.tar.xz wireguard-openbsd-51b504e01d154214d4f4b09ea9c85c5ffa40060f.zip |
Build 'flags' in intermediate variable and shuffle sc_link
initialization closer to config_found() invocation.
-rw-r--r-- | sys/dev/usb/umass_scsi.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/sys/dev/usb/umass_scsi.c b/sys/dev/usb/umass_scsi.c index eb2222191bf..881323fa2a3 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.53 2020/07/11 13:34:06 krw Exp $ */ +/* $OpenBSD: umass_scsi.c,v 1.54 2020/07/11 14:48:53 krw Exp $ */ /* $NetBSD: umass_scsipi.c,v 1.9 2003/02/16 23:14:08 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -83,25 +83,12 @@ umass_scsi_attach(struct umass_softc *sc) { struct scsibus_attach_args saa; struct umass_scsi_softc *scbus; + u_int16_t flags = SDEV_UMASS; scbus = malloc(sizeof(*scbus), M_DEVBUF, M_WAITOK | M_ZERO); sc->bus = scbus; - scsi_iopool_init(&scbus->sc_iopool, scbus, umass_io_get, umass_io_put); - - scbus->sc_link.adapter_buswidth = 2; - scbus->sc_link.adapter = &umass_scsi_switch; - scbus->sc_link.adapter_softc = sc; - scbus->sc_link.adapter_target = UMASS_SCSIID_HOST; - scbus->sc_link.openings = 1; - scbus->sc_link.quirks = SDEV_ONLYBIG | sc->sc_busquirks; - scbus->sc_link.pool = &scbus->sc_iopool; - scbus->sc_link.luns = sc->maxlun + 1; - scbus->sc_link.flags = SDEV_UMASS; - - saa.saa_sc_link = &scbus->sc_link; - switch (sc->sc_cmd) { case UMASS_CPROTO_RBC: case UMASS_CPROTO_SCSI: @@ -111,7 +98,7 @@ umass_scsi_attach(struct umass_softc *sc) break; case UMASS_CPROTO_UFI: case UMASS_CPROTO_ATAPI: - scbus->sc_link.flags |= SDEV_ATAPI; + flags |= SDEV_ATAPI; DPRINTF(UDMASS_USB, ("%s: umass_attach_bus: ATAPI\n" "sc = 0x%p, scbus = 0x%p\n", sc->sc_dev.dv_xname, sc, scbus)); @@ -120,6 +107,20 @@ umass_scsi_attach(struct umass_softc *sc) break; } + scsi_iopool_init(&scbus->sc_iopool, scbus, umass_io_get, umass_io_put); + + scbus->sc_link.adapter_buswidth = 2; + scbus->sc_link.adapter = &umass_scsi_switch; + scbus->sc_link.adapter_softc = sc; + scbus->sc_link.adapter_target = UMASS_SCSIID_HOST; + scbus->sc_link.openings = 1; + scbus->sc_link.quirks = SDEV_ONLYBIG | sc->sc_busquirks; + scbus->sc_link.pool = &scbus->sc_iopool; + scbus->sc_link.luns = sc->maxlun + 1; + scbus->sc_link.flags = flags; + + saa.saa_sc_link = &scbus->sc_link; + sc->sc_refcnt++; scbus->sc_child = config_found((struct device *)sc, &saa, scsiprint); if (--sc->sc_refcnt < 0) |