summaryrefslogtreecommitdiffstats
path: root/sys/cam/cam_xpt.c
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2013-09-25 01:48:45 +0000
committergjb <gjb@FreeBSD.org>2013-09-25 01:48:45 +0000
commitd965f28ba1171a60f27bd8b0e21de9412e2640f2 (patch)
tree4ba80487d8d5ba6364f0f8d1bdf5ad85102180c3 /sys/cam/cam_xpt.c
parent85074aa18eb69e2ea599def9d5b8a5bbb5addf8b (diff)
downloadFreeBSD-src-d965f28ba1171a60f27bd8b0e21de9412e2640f2.zip
FreeBSD-src-d965f28ba1171a60f27bd8b0e21de9412e2640f2.tar.gz
Revert r255853 pending fixes to build errors in usr.bin/kdump
Approved by: re (implicit)
Diffstat (limited to 'sys/cam/cam_xpt.c')
-rw-r--r--sys/cam/cam_xpt.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index 2c187d3..e50b0ad 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -397,7 +397,9 @@ xptioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td
int error;
if ((error = xptdoioctl(dev, cmd, addr, flag, td)) == ENOTTY) {
- error = cam_compat_ioctl(dev, cmd, addr, flag, td, xptdoioctl);
+ error = cam_compat_ioctl(dev, &cmd, &addr, &flag, td);
+ if (error == EAGAIN)
+ return (xptdoioctl(dev, cmd, addr, flag, td));
}
return (error);
}
@@ -4383,6 +4385,8 @@ xpt_get_ccb(struct cam_ed *device)
if (new_ccb == NULL) {
return (NULL);
}
+ if ((sim->flags & CAM_SIM_MPSAFE) == 0)
+ callout_handle_init(&new_ccb->ccb_h.timeout_ch);
SLIST_INSERT_HEAD(&sim->ccb_freeq, &new_ccb->ccb_h,
xpt_links.sle);
sim->ccb_count++;
OpenPOWER on IntegriCloud