summaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp_pci.c
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2002-02-18 00:00:34 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2002-02-18 00:00:34 +0000
commitd134aa0b204e8cb7ecac243d68053017b4f2b6ab (patch)
treeddea077bfbe94688db63926550e711f058ff28d1 /sys/dev/isp/isp_pci.c
parenta23118f372ab00179c74bbc4b8779a8897e24744 (diff)
Notes
Diffstat (limited to 'sys/dev/isp/isp_pci.c')
-rw-r--r--sys/dev/isp/isp_pci.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c
index 02bc05f14491..49182ae2977a 100644
--- a/sys/dev/isp/isp_pci.c
+++ b/sys/dev/isp/isp_pci.c
@@ -606,6 +606,25 @@ isp_pci_attach(device_t dev)
"fullduplex", &tval) == 0 && tval != 0) {
isp->isp_confopts |= ISP_CFG_FULL_DUPLEX;
}
+#ifdef ISP_FW_CRASH_DUMP
+ tval = 0;
+ if (resource_int_value(device_get_name(dev), device_get_unit(dev),
+ "fw_dump_enable", &tval) == 0 && tval != 0) {
+ size_t amt = 0;
+ if (IS_2200(isp)) {
+ amt = QLA2200_RISC_IMAGE_DUMP_SIZE;
+ } else if (IS_23XX(isp)) {
+ amt = QLA2300_RISC_IMAGE_DUMP_SIZE;
+ }
+ if (amt) {
+ FCPARAM(isp)->isp_dump_data =
+ malloc(amt, M_DEVBUF, M_WAITOK | M_ZERO);
+ } else {
+ device_printf(dev,
+ "f/w crash dumps not supported for this model\n");
+ }
+ }
+#endif
sptr = 0;
if (resource_string_value(device_get_name(dev), device_get_unit(dev),