Make isp(4) suggest loading ispfw(4) when it fails to attach.

It cannot load it automatically at boot, because the root filesystem
is not there yet. An alternative would be adding ispfw(4) to GENERIC,
but it's an additional 1MB.

Reviewed by:	mav
MFC after:	2 weeks
Sponsored by:	Klara Inc.
Differential Revision:	https://reviews.freebsd.org/D19369
This commit is contained in:
Edward Tomasz Napierala 2019-04-28 15:08:57 +00:00
parent 03eb6e580f
commit e52fba212d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=346845

View File

@ -931,6 +931,15 @@ isp_pci_attach(device_t dev)
return (0);
bad:
if (isp->isp_osinfo.fw == NULL && !IS_26XX(isp)) {
/*
* Failure to attach at boot time might have been caused
* by a missing ispfw(4). Except for for 16Gb adapters,
* there's no loadable firmware for them.
*/
isp_prt(isp, ISP_LOGWARN, "See the ispfw(4) man page on "
"how to load known good firmware at boot time");
}
for (i = 0; i < isp->isp_nirq; i++) {
(void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih);
(void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd,