public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage?
@ 2009-04-18 21:53 Mikael Pettersson
  2009-04-19  4:18 ` David Miller
  2009-04-19 20:03 ` Krzysztof Halasa
  0 siblings, 2 replies; 5+ messages in thread
From: Mikael Pettersson @ 2009-04-18 21:53 UTC (permalink / raw)
  To: khc; +Cc: linux-kernel, netdev

The ixp4xx_eth driver for my IXP420 XScale box (Synology DS101)
worked fine in kernel 2.6.29. Now trying to boot 2.6.30-rc2 I'm
greeted with the following failure during init:

Bringing up interface eth0:  RTNETLINK answers: No such file or directory
Failed to bring up eth0.
[FAILED]

There's a fairly long (at least 10 seconds) delay between the 'Bringing up'
message and the RTNETLINK error.

A diff between the 2.6.29 and 2.6.30-rc2 boot logs indicates that
the firmware doesn't get loaded:

--- dmesg-2.6.29	2009-04-18 23:26:30.000000000 +0200
+++ dmesg-2.6.30-rc2	2009-04-18 23:24:03.000000000 +0200
@@ -221,11 +222,9 @@
 kjournald starting.  Commit interval 5 seconds
 EXT3 FS on sda8, internal journal
 EXT3-fs: mounted filesystem with ordered data mode.
-net eth0: firmware: requesting NPE-C
-NPE-C: firmware functionality 0x0, revision 0x2:1
-NET: Registered protocol family 17
-eth0: link up, speed 100 Mb/s, full duplex
 Adding 2000336k swap on /dev/sda5.  Priority:-1 extents:1 across:2000336k 
+NET: Registered protocol family 17
+net eth0: firmware: requesting NPE-C
 RPC: Registered udp transport module.
 RPC: Registered tcp transport module.
 warning: `dbus-daemon' uses 32-bit capabilities (legacy support in use)

I'll try to debug this tomorrow, but I may not have time for a proper
debug session until next weekend.

/Mikael

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage?
  2009-04-18 21:53 [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage? Mikael Pettersson
@ 2009-04-19  4:18 ` David Miller
  2009-04-19  9:32   ` Mikael Pettersson
  2009-04-19 20:03 ` Krzysztof Halasa
  1 sibling, 1 reply; 5+ messages in thread
From: David Miller @ 2009-04-19  4:18 UTC (permalink / raw)
  To: mikpe; +Cc: khc, linux-kernel, netdev

From: Mikael Pettersson <mikpe@it.uu.se>
Date: Sat, 18 Apr 2009 23:53:25 +0200 (MEST)

> The ixp4xx_eth driver for my IXP420 XScale box (Synology DS101)
> worked fine in kernel 2.6.29. Now trying to boot 2.6.30-rc2 I'm
> greeted with the following failure during init:
> 
> Bringing up interface eth0:  RTNETLINK answers: No such file or directory
> Failed to bring up eth0.
> [FAILED]
> 
> There's a fairly long (at least 10 seconds) delay between the 'Bringing up'
> message and the RTNETLINK error.
> 
> A diff between the 2.6.29 and 2.6.30-rc2 boot logs indicates that
> the firmware doesn't get loaded:

Please make sure CONFIG_FIRMWARE_IN_KERNEL is set in your
configuration if this driver is being built statically
into your kernel.

Otherwise, if modular, make sure the firmware files get installed into
the correct location and are available in the filesystem when the
driver loads.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage?
  2009-04-19  4:18 ` David Miller
@ 2009-04-19  9:32   ` Mikael Pettersson
  2009-04-19 21:14     ` Mikael Pettersson
  0 siblings, 1 reply; 5+ messages in thread
From: Mikael Pettersson @ 2009-04-19  9:32 UTC (permalink / raw)
  To: David Miller; +Cc: mikpe, khc, linux-kernel, netdev

David Miller writes:
 > From: Mikael Pettersson <mikpe@it.uu.se>
 > Date: Sat, 18 Apr 2009 23:53:25 +0200 (MEST)
 > 
 > > The ixp4xx_eth driver for my IXP420 XScale box (Synology DS101)
 > > worked fine in kernel 2.6.29. Now trying to boot 2.6.30-rc2 I'm
 > > greeted with the following failure during init:
 > > 
 > > Bringing up interface eth0:  RTNETLINK answers: No such file or directory
 > > Failed to bring up eth0.
 > > [FAILED]
 > > 
 > > There's a fairly long (at least 10 seconds) delay between the 'Bringing up'
 > > message and the RTNETLINK error.
 > > 
 > > A diff between the 2.6.29 and 2.6.30-rc2 boot logs indicates that
 > > the firmware doesn't get loaded:
 > 
 > Please make sure CONFIG_FIRMWARE_IN_KERNEL is set in your
 > configuration if this driver is being built statically
 > into your kernel.

ixp4xx_eth is built as a module and I have CONFIG_FIRMWARE_IN_KERNEL unset.

 > Otherwise, if modular, make sure the firmware files get installed into
 > the correct location and are available in the filesystem when the
 > driver loads.

The firmware isn't shipped with the kernel but is something users have to
download from Intel, build, and install themselves; once installed they work
across kernel versions. The files reside in /lib/firmware/'s top-level
directory, and they are available since firmware loading (triggered by init's
attempt to up eth0) occurs after / has been mounted. My userspace uses oldish
firmware-aware hotplug since udev's too heavy-weight.

This all works with 2.6.29 and older 2.6.2x kernels.

I'll do a bisect.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage?
  2009-04-18 21:53 [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage? Mikael Pettersson
  2009-04-19  4:18 ` David Miller
@ 2009-04-19 20:03 ` Krzysztof Halasa
  1 sibling, 0 replies; 5+ messages in thread
From: Krzysztof Halasa @ 2009-04-19 20:03 UTC (permalink / raw)
  To: Mikael Pettersson; +Cc: linux-kernel, netdev

Mikael Pettersson <mikpe@it.uu.se> writes:

> The ixp4xx_eth driver for my IXP420 XScale box (Synology DS101)
> worked fine in kernel 2.6.29. Now trying to boot 2.6.30-rc2 I'm
> greeted with the following failure during init:
>
> Bringing up interface eth0:  RTNETLINK answers: No such file or directory
> Failed to bring up eth0.
> [FAILED]

Thanks for the info, will look at it.
-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage?
  2009-04-19  9:32   ` Mikael Pettersson
@ 2009-04-19 21:14     ` Mikael Pettersson
  0 siblings, 0 replies; 5+ messages in thread
From: Mikael Pettersson @ 2009-04-19 21:14 UTC (permalink / raw)
  To: Mikael Pettersson; +Cc: David Miller, khc, linux-kernel, netdev, hugh

Mikael Pettersson writes:
 > David Miller writes:
 >  > From: Mikael Pettersson <mikpe@it.uu.se>
 >  > Date: Sat, 18 Apr 2009 23:53:25 +0200 (MEST)
 >  > 
 >  > > The ixp4xx_eth driver for my IXP420 XScale box (Synology DS101)
 >  > > worked fine in kernel 2.6.29. Now trying to boot 2.6.30-rc2 I'm
 >  > > greeted with the following failure during init:
 >  > > 
 >  > > Bringing up interface eth0:  RTNETLINK answers: No such file or directory
 >  > > Failed to bring up eth0.
 >  > > [FAILED]
 >  > > 
 >  > > There's a fairly long (at least 10 seconds) delay between the 'Bringing up'
 >  > > message and the RTNETLINK error.
 >  > > 
 >  > > A diff between the 2.6.29 and 2.6.30-rc2 boot logs indicates that
 >  > > the firmware doesn't get loaded:
 >  > 
 >  > Please make sure CONFIG_FIRMWARE_IN_KERNEL is set in your
 >  > configuration if this driver is being built statically
 >  > into your kernel.
 > 
 > ixp4xx_eth is built as a module and I have CONFIG_FIRMWARE_IN_KERNEL unset.
 > 
 >  > Otherwise, if modular, make sure the firmware files get installed into
 >  > the correct location and are available in the filesystem when the
 >  > driver loads.
 > 
 > The firmware isn't shipped with the kernel but is something users have to
 > download from Intel, build, and install themselves; once installed they work
 > across kernel versions. The files reside in /lib/firmware/'s top-level
 > directory, and they are available since firmware loading (triggered by init's
 > attempt to up eth0) occurs after / has been mounted. My userspace uses oldish
 > firmware-aware hotplug since udev's too heavy-weight.
 > 
 > This all works with 2.6.29 and older 2.6.2x kernels.
 > 
 > I'll do a bisect.

Bisection identified Arjan's f520360d93cdc37de5d972dac4bf3bdef6a7f6a7
"kobject: don't block for each kobject_uevent" as the culprit.
Hugh Dickins reverted that change a few days ago in commit
05f54c13cd0c33694eec39a265475c5d6cf223cf, noting that it was buggy
and broke CONFIG_UEVENT_HELPER_PATH by prematurely releasing memory
needed when exec:ing the helper program.

I tested 2.6.30-rc2 + Hugh's patch and with that everything works again.

Krzysztof: you can relax, ixp4xx_eth was just an innocent bystander.

Hugh: thanks for the revert, consider this a late Acked-by.

/Mikael

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-04-19 21:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-18 21:53 [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage? Mikael Pettersson
2009-04-19  4:18 ` David Miller
2009-04-19  9:32   ` Mikael Pettersson
2009-04-19 21:14     ` Mikael Pettersson
2009-04-19 20:03 ` Krzysztof Halasa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox