PERFORCE change 119290 for review
Matt Jacob
mjacob at FreeBSD.org
Sat May 5 17:30:21 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=119290
Change 119290 by mjacob at mjexp on 2007/05/05 17:30:20
Second part of fix- isp_reinit shouldn't be called where it
could sleep.
Affected files ...
.. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#23 edit
Differences ...
==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#23 (text+ko) ====
@@ -3478,9 +3478,8 @@
"Internal Firmware Error on bus %d @ RISC Address 0x%x",
mbox6, mbox1);
#ifdef ISP_FW_CRASH_DUMP
- /*
- * XXX: really need a thread to do this right.
- */
+ mbox1 = isp->isp_osinfo.mbox_sleep_ok;
+ isp->isp_osinfo.mbox_sleep_ok = 0;
if (IS_FC(isp)) {
FCPARAM(isp)->isp_fwstate = FW_CONFIG_WAIT;
FCPARAM(isp)->isp_loopstate = LOOP_NIL;
@@ -3488,8 +3487,14 @@
isp_fw_dump(isp);
}
isp_reinit(isp);
+ isp->isp_osinfo.mbox_sleep_ok = mbox1;
+#else
+ mbox1 = isp->isp_osinfo.mbox_sleep_ok;
+ isp->isp_osinfo.mbox_sleep_ok = 0;
+ isp_reinit(isp);
+ isp->isp_osinfo.mbox_sleep_ok = mbox1;
+#endif
isp_async(isp, ISPASYNC_FW_RESTARTED, NULL);
-#endif
break;
}
case ISPASYNC_UNHANDLED_RESPONSE:
More information about the p4-projects
mailing list