diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c index bd41b7029b0..e8f96408dd2 100644 --- a/sys/dev/isp/isp_freebsd.c +++ b/sys/dev/isp/isp_freebsd.c @@ -394,6 +394,9 @@ ispioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct thread *td) struct isp_hba_device *hba = (struct isp_hba_device *) addr; MEMZERO(hba, sizeof (*hba)); ISP_LOCK(isp); + hba->fc_fw_major = ISP_FW_MAJORX(isp->isp_fwrev); + hba->fc_fw_minor = ISP_FW_MINORX(isp->isp_fwrev); + hba->fc_fw_micro = ISP_FW_MICROX(isp->isp_fwrev); hba->fc_speed = FCPARAM(isp)->isp_gbspeed; hba->fc_scsi_supported = 1; hba->fc_topology = FCPARAM(isp)->isp_topo + 1; diff --git a/sys/dev/isp/isp_ioctl.h b/sys/dev/isp/isp_ioctl.h index 5b975e58258..f4d3c15acf8 100644 --- a/sys/dev/isp/isp_ioctl.h +++ b/sys/dev/isp/isp_ioctl.h @@ -143,6 +143,10 @@ struct isp_hba_device { fc_scsi_supported : 1, fc_topology : 3, fc_loopid : 8; + u_int8_t fc_fw_major; + u_int8_t fc_fw_minor; + u_int8_t fc_fw_micro; + u_int8_t reserved; u_int64_t nvram_node_wwn; u_int64_t nvram_port_wwn; u_int64_t active_node_wwn;