This simple patch should fix it. This code path is pretty rare, though, I'm frankly shocked that you're running into it. --- cam_xpt.c 20 Oct 2007 23:23:12 -0000 1.191 +++ cam_xpt.c 16 Dec 2007 07:46:22 -0000 _at__at_ -3862,6 +3862,7 _at__at_ &work_ccb->ccb_h, xpt_links.stqe); + mtx_unlock(&xsoftc.xpt_lock); continue; } else { /* Scott The patch failed: Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |--- cam_xpt.c 20 Oct 2007 23:23:12 -0000 1.191 |+++ cam_xpt.c 16 Dec 2007 07:46:22 -0000 -------------------------- Patching file cam_xpt.c using Plan A... Hunk #1 failed at 3862. 1 out of 1 hunks failed--saving rejects to cam_xpt.c.rej Done (cam_xpt.c.reg) *************** *** 3862,3867 **** &work_ccb->ccb_h, xpt_links.stqe); continue; } else { /* --- 3862,3868 ---- &work_ccb->ccb_h, xpt_links.stqe); + mtx_unlock(&xsoftc.xpt_lock); continue; } else { /* However, I manually modified cam_xpt.c like this and now the kernel boots and all seems well! STAILQ_INSERT_TAIL(&xsoftc.highpowerq, &work_ccb->ccb_h, xpt_links.stqe); mtx_unlock(&xsoftc.xpt_lock); continue; } else { /* * Consume a high power slot while * this ccb runs. */ Thanks. --mikejReceived on Sun Dec 16 2007 - 11:58:21 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:24 UTC