Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin"

Takashi Iwai
2008-07-04T11:06:01Z

At Thu, 3 Jul 2008 14:04:36 +0100 (BST),
Hugh Dickins wrote:
>
> On Thu, 3 Jul 2008, Jeff Garzik wrote:
> > KOSAKI Motohiro wrote:
> > > Hi Michael,
> > >
> > > my server output following error message on 2.6.26-rc8-mm1.
> > > Is this a bug?
> > >
> > > ------------------------------------------------------------------
> > > tg3.c:v3.93 (May 22, 2008)
> > > GSI 72 (level, low) -> CPU 0 (0x0001) vector 51
> > > tg3 0000:06:01.0: PCI INT A -> GSI 72 (level, low) -> IRQ 51
> > > firmware: requesting tigon/tg3_tso.bin
> > > tg3: Failed to load firmware "tigon/tg3_tso.bin"
> > > tg3 0000:06:01.0: PCI INT A disabled
> > > GSI 72 (level, low) -> CPU 0 (0x0001) vector 51 unregistered
> > > tg3: probe of 0000:06:01.0 failed with error -2
> > > GSI 73 (level, low) -> CPU 0 (0x0001) vector 51
> > > tg3 0000:06:01.1: PCI INT B -> GSI 73 (level, low) -> IRQ 52
> > > firmware: requesting tigon/tg3_tso.bin
> >
> > This change did not come from the network developers or Broadcom, so someone
> > else broke tg3 in -mm...
>
> I think it's a consequence of not choosing CONFIG_FIRMWARE_IN_KERNEL=y.
>
> That caught me out on PowerMac G5 trying mmotm yesterday, it just hung
> for a few minutes in earlyish boot with a message about tg3_tso.bin,
> and then proceeded to boot up but without the network. I was unclear
> whether I'd been stupid, or the FIRMWARE_IN_KERNEL Kconfigery was poor.
>
> I avoid initrd, and have tigon3 built in, if that's of any relevance.
>
> I wonder if that's Andrew's problem with 2.6.26-rc8-mm1 on his G5:
> mine here boots up fine (now I know to CONFIG_FIRMWARE_IN_KERNEL=y).

Hmm, I got this error even with CONFIG_FIRMWARE_IN_KERNEL=y.

Through a quick look at the code, the firmwares are not built indeed.
I guess the fix like the following needed for building firmwares for
modules. Now trying to build the kernel again to check this...

Takashi

diff --git a/firmware/Makefile b/firmware/Makefile
index f88d746..e11fc2a 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -55,6 +55,8 @@ fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw
fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw
fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin

+fw-shipped-y := $(fw-shipped-y) $(fw-shipped-m)
+
# If CONFIG_FIRMWARE_IN_KERNEL is not set, then don't include any firmware
ifneq ($(CONFIG_FIRMWARE_IN_KERNEL),y)
fw-shipped-y :=