diff options
author | iedowse <iedowse@FreeBSD.org> | 2005-03-25 00:38:46 +0000 |
---|---|---|
committer | iedowse <iedowse@FreeBSD.org> | 2005-03-25 00:38:46 +0000 |
commit | b1a03beb9ba3fc1db597deb178c280f3c57c1eb4 (patch) | |
tree | 4cc04520161853a58e27e3319af019f0fcff737a /sys/dev/usb/umass.c | |
parent | 8e533783f30fa87df9d09c296e590736e72f871c (diff) | |
download | FreeBSD-src-b1a03beb9ba3fc1db597deb178c280f3c57c1eb4.zip FreeBSD-src-b1a03beb9ba3fc1db597deb178c280f3c57c1eb4.tar.gz |
Use M_NOWAIT when allocating from a callout routine.
PR: kern/73295
Diffstat (limited to 'sys/dev/usb/umass.c')
-rw-r--r-- | sys/dev/usb/umass.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c index 1704a94..6beed41 100644 --- a/sys/dev/usb/umass.c +++ b/sys/dev/usb/umass.c @@ -2236,15 +2236,16 @@ umass_cam_rescan(void *addr) { struct umass_softc *sc = (struct umass_softc *) addr; struct cam_path *path; - union ccb *ccb = malloc(sizeof(union ccb), M_USBDEV, M_WAITOK); - - memset(ccb, 0, sizeof(union ccb)); + union ccb *ccb; DPRINTF(UDMASS_SCSI, ("scbus%d: scanning for %s:%d:%d:%d\n", cam_sim_path(sc->umass_sim), USBDEVNAME(sc->sc_dev), cam_sim_path(sc->umass_sim), USBDEVUNIT(sc->sc_dev), CAM_LUN_WILDCARD)); + ccb = malloc(sizeof(union ccb), M_USBDEV, M_NOWAIT | M_ZERO); + if (ccb == NULL) + return; if (xpt_create_path(&path, xpt_periph, cam_sim_path(sc->umass_sim), CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) |