summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/umass.c
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2005-03-25 00:38:46 +0000
committeriedowse <iedowse@FreeBSD.org>2005-03-25 00:38:46 +0000
commitb1a03beb9ba3fc1db597deb178c280f3c57c1eb4 (patch)
tree4cc04520161853a58e27e3319af019f0fcff737a /sys/dev/usb/umass.c
parent8e533783f30fa87df9d09c296e590736e72f871c (diff)
downloadFreeBSD-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.c7
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)
OpenPOWER on IntegriCloud