Message ID | 1231748039.25018.1277.camel@macbook.infradead.org |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, 12 Jan 2009 08:13:59 GMT, David Woodhouse said: > On Sun, 2009-01-11 at 19:10 -0500, Valdis.Kletnieks@vt.edu wrote: > > So it looks like the patch is failing to finish initialization of the card. > > Damned if *I* can see what's breaking it, the conversion to use a helper > > function tg3_request_firmware seems sane enough.... > > Ahem... > > --- drivers/net/tg3.c.stupiddwmw2 2009-01-12 08:13:05.000000000 +0000 > +++ drivers/net/tg3.c 2009-01-12 08:13:09.000000000 +0000 > @@ -13151,7 +13151,7 @@ static int __devinit tg3_init_one(struct OK, tested on my laptop. Results: CONFIG_TIGON3=y CONFIG_PREVENT_FIRMWARE_BUILD=y works - the firmware gets loaded during early system boot and all is as expected. CONFIG_TIGON3=y CONFIG_FIRMWARE_IN_KERNEL=n wedges up - Booted with 'ignore_loglevel initcall_debug', and the last thing we get is: tg3 0000:09:00.0: firmware: requesting tigon/tg3_tso.bin At which point we hang because request_firmware apparently never returns. It's wedged up *really* good at that point - I can't even use alt-sysrq-anything.
On Mon, 12 Jan 2009 08:13:59 GMT, David Woodhouse said: > On Sun, 2009-01-11 at 19:10 -0500, Valdis.Kletnieks@vt.edu wrote: > > So it looks like the patch is failing to finish initialization of the card. > > Damned if *I* can see what's breaking it, the conversion to use a helper > > function tg3_request_firmware seems sane enough.... > > Ahem... > > --- drivers/net/tg3.c.stupiddwmw2 2009-01-12 08:13:05.000000000 +0000 > +++ drivers/net/tg3.c 2009-01-12 08:13:09.000000000 +0000 > @@ -13151,7 +13151,7 @@ static int __devinit tg3_init_one(struct OK, tested on my laptop. Results: CONFIG_TIGON3=y CONFIG_PREVENT_FIRMWARE_BUILD=y works - the firmware gets loaded during early system boot and all is as expected. CONFIG_TIGON3=y CONFIG_FIRMWARE_IN_KERNEL=n wedges up - Booted with 'ignore_loglevel initcall_debug', and the last thing we get is: tg3 0000:09:00.0: firmware: requesting tigon/tg3_tso.bin At which point we hang because request_firmware apparently never returns. It's wedged up *really* good at that point - I can't even use alt-sysrq-anything.
--- drivers/net/tg3.c.stupiddwmw2 2009-01-12 08:13:05.000000000 +0000 +++ drivers/net/tg3.c 2009-01-12 08:13:09.000000000 +0000 @@ -13151,7 +13151,7 @@ static int __devinit tg3_init_one(struct try again in tg3_open(). So if you have the driver built into the kernel, you can still get the firmware loaded after userspace is running, when the device comes up. */ - if (err != -ENOENT) + if (err && err != -ENOENT) goto err_out_fw; }