All of lore.kernel.org
 help / color / mirror / Atom feed
* MAC firmware does not load due to (commit 288d5abe usermodehelper)
@ 2011-09-28 12:06 ` Richard Cochran
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Cochran @ 2011-09-28 12:06 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-arm-kernel, Linus Torvalds, Krzysztof Halasa, Russell King

I have some ARM IXP4xx based machines that use the two on chip MAC
ports (aka NPEs). The NPE needs a firmware in order to function. Ever
since the following commit, it is no longer possible to bring up the
interfaces during the init scripts.

    commit 288d5abec8314ae50fe6692f324b0444acae8486
    Author: Linus Torvalds <torvalds@linux-foundation.org>
    Date:   Wed Aug 3 22:03:29 2011 -1000

    Boot up with usermodehelper disabled

A warning appears on the console, shown below.  I don't know what
commit 288d5abe was trying to fix, but it sure made a regression for
me. It probably would also spoil using NFS boot, too.

Any ideas what to do about this?

Thanks,
Richard


------------[ cut here ]------------
WARNING: at /home/richard/git/linux/drivers/base/firmware_class.c:537 _request_firmware+0xc8/0x3b8()
Modules linked in:
Backtrace: 
[<c000bee0>] (dump_backtrace+0x0/0x114) from [<c000c3dc>] (dump_stack+0x18/0x1c)
[<c000c3c4>] (dump_stack+0x0/0x1c) from [<c001a778>] (warn_slowpath_common+0x58/0x70)
[<c001a720>] (warn_slowpath_common+0x0/0x70) from [<c001a7b4>] (warn_slowpath_null+0x24/0x2c)
[<c001a790>] (warn_slowpath_null+0x0/0x2c) from [<c0142710>] (_request_firmware+0xc8/0x3b8)
[<c0142648>] (_request_firmware+0x0/0x3b8) from [<c0142a20>] (request_firmware+0x20/0x28)
[<c0142a00>] (request_firmware+0x0/0x28) from [<c0012c98>] (npe_load_firmware+0x1c/0x488)
[<c0012c7c>] (npe_load_firmware+0x0/0x488) from [<c015dbe8>] (eth_open+0x44/0x6c0)
[<c015dba4>] (eth_open+0x0/0x6c0) from [<c017bf88>] (__dev_open+0xbc/0x114)
[<c017becc>] (__dev_open+0x0/0x114) from [<c017a044>] (__dev_change_flags+0x98/0x124)
[<c0179fac>] (__dev_change_flags+0x0/0x124) from [<c017b8e4>] (dev_change_flags+0x1c/0x50)
[<c017b8c8>] (dev_change_flags+0x0/0x50) from [<c01c2cd0>] (devinet_ioctl+0x2c4/0x674)
[<c01c2a0c>] (devinet_ioctl+0x0/0x674) from [<c01c395c>] (inet_ioctl+0xcc/0x104)
[<c01c3890>] (inet_ioctl+0x0/0x104) from [<c016cb3c>] (sock_ioctl+0x1f8/0x254)
[<c016c944>] (sock_ioctl+0x0/0x254) from [<c0082c28>] (vfs_ioctl+0x28/0x44)
[<c0082c00>] (vfs_ioctl+0x0/0x44) from [<c00832c8>] (do_vfs_ioctl+0x49c/0x4ec)
[<c0082e2c>] (do_vfs_ioctl+0x0/0x4ec) from [<c0083358>] (sys_ioctl+0x40/0x64)
[<c0083318>] (sys_ioctl+0x0/0x64) from [<c0009040>] (ret_fast_syscall+0x0/0x2c)
---[ end trace 6083e7c78b321b84 ]---

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

* MAC firmware does not load due to (commit 288d5abe usermodehelper)
@ 2011-09-28 12:06 ` Richard Cochran
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Cochran @ 2011-09-28 12:06 UTC (permalink / raw)
  To: linux-arm-kernel

I have some ARM IXP4xx based machines that use the two on chip MAC
ports (aka NPEs). The NPE needs a firmware in order to function. Ever
since the following commit, it is no longer possible to bring up the
interfaces during the init scripts.

    commit 288d5abec8314ae50fe6692f324b0444acae8486
    Author: Linus Torvalds <torvalds@linux-foundation.org>
    Date:   Wed Aug 3 22:03:29 2011 -1000

    Boot up with usermodehelper disabled

A warning appears on the console, shown below.  I don't know what
commit 288d5abe was trying to fix, but it sure made a regression for
me. It probably would also spoil using NFS boot, too.

Any ideas what to do about this?

Thanks,
Richard


------------[ cut here ]------------
WARNING: at /home/richard/git/linux/drivers/base/firmware_class.c:537 _request_firmware+0xc8/0x3b8()
Modules linked in:
Backtrace: 
[<c000bee0>] (dump_backtrace+0x0/0x114) from [<c000c3dc>] (dump_stack+0x18/0x1c)
[<c000c3c4>] (dump_stack+0x0/0x1c) from [<c001a778>] (warn_slowpath_common+0x58/0x70)
[<c001a720>] (warn_slowpath_common+0x0/0x70) from [<c001a7b4>] (warn_slowpath_null+0x24/0x2c)
[<c001a790>] (warn_slowpath_null+0x0/0x2c) from [<c0142710>] (_request_firmware+0xc8/0x3b8)
[<c0142648>] (_request_firmware+0x0/0x3b8) from [<c0142a20>] (request_firmware+0x20/0x28)
[<c0142a00>] (request_firmware+0x0/0x28) from [<c0012c98>] (npe_load_firmware+0x1c/0x488)
[<c0012c7c>] (npe_load_firmware+0x0/0x488) from [<c015dbe8>] (eth_open+0x44/0x6c0)
[<c015dba4>] (eth_open+0x0/0x6c0) from [<c017bf88>] (__dev_open+0xbc/0x114)
[<c017becc>] (__dev_open+0x0/0x114) from [<c017a044>] (__dev_change_flags+0x98/0x124)
[<c0179fac>] (__dev_change_flags+0x0/0x124) from [<c017b8e4>] (dev_change_flags+0x1c/0x50)
[<c017b8c8>] (dev_change_flags+0x0/0x50) from [<c01c2cd0>] (devinet_ioctl+0x2c4/0x674)
[<c01c2a0c>] (devinet_ioctl+0x0/0x674) from [<c01c395c>] (inet_ioctl+0xcc/0x104)
[<c01c3890>] (inet_ioctl+0x0/0x104) from [<c016cb3c>] (sock_ioctl+0x1f8/0x254)
[<c016c944>] (sock_ioctl+0x0/0x254) from [<c0082c28>] (vfs_ioctl+0x28/0x44)
[<c0082c00>] (vfs_ioctl+0x0/0x44) from [<c00832c8>] (do_vfs_ioctl+0x49c/0x4ec)
[<c0082e2c>] (do_vfs_ioctl+0x0/0x4ec) from [<c0083358>] (sys_ioctl+0x40/0x64)
[<c0083318>] (sys_ioctl+0x0/0x64) from [<c0009040>] (ret_fast_syscall+0x0/0x2c)
---[ end trace 6083e7c78b321b84 ]---

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

* Re: MAC firmware does not load due to (commit 288d5abe usermodehelper)
  2011-09-28 12:06 ` Richard Cochran
@ 2011-09-28 15:21   ` Linus Torvalds
  -1 siblings, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2011-09-28 15:21 UTC (permalink / raw)
  To: Richard Cochran
  Cc: linux-kernel, linux-arm-kernel, Krzysztof Halasa, Russell King

[-- Attachment #1: Type: text/plain, Size: 597 bytes --]

On Wed, Sep 28, 2011 at 5:06 AM, Richard Cochran
<richardcochran@gmail.com> wrote:
>
> A warning appears on the console, shown below.  I don't know what
> commit 288d5abe was trying to fix, but it sure made a regression for
> me. It probably would also spoil using NFS boot, too.
>
> Any ideas what to do about this?

Something seems to be calling ioctl() befor rest_init() has even
completed. Which sounds odd, but I wonder if the schedule() there
before it might have let 'init' get going.

Does something like the attached (UNTESTED) fix it?

                             Linus

[-- Attachment #2: patch.diff --]
[-- Type: text/x-patch, Size: 679 bytes --]

 init/main.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/init/main.c b/init/main.c
index 2a9b88aa5e76..23702bbdbc1d 100644
--- a/init/main.c
+++ b/init/main.c
@@ -381,9 +381,6 @@ static noinline void __init_refok rest_init(void)
 	preempt_enable_no_resched();
 	schedule();
 
-	/* At this point, we can enable user mode helper functionality */
-	usermodehelper_enable();
-
 	/* Call into cpu_idle with preempt disabled */
 	preempt_disable();
 	cpu_idle();
@@ -734,6 +731,7 @@ static void __init do_basic_setup(void)
 	init_irq_proc();
 	do_ctors();
 	do_initcalls();
+	usermodehelper_enable();
 }
 
 static void __init do_pre_smp_initcalls(void)

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

* MAC firmware does not load due to (commit 288d5abe usermodehelper)
@ 2011-09-28 15:21   ` Linus Torvalds
  0 siblings, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2011-09-28 15:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 28, 2011 at 5:06 AM, Richard Cochran
<richardcochran@gmail.com> wrote:
>
> A warning appears on the console, shown below. ?I don't know what
> commit 288d5abe was trying to fix, but it sure made a regression for
> me. It probably would also spoil using NFS boot, too.
>
> Any ideas what to do about this?

Something seems to be calling ioctl() befor rest_init() has even
completed. Which sounds odd, but I wonder if the schedule() there
before it might have let 'init' get going.

Does something like the attached (UNTESTED) fix it?

                             Linus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-patch
Size: 678 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110928/ab9b1404/attachment.bin>

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

* Re: MAC firmware does not load due to (commit 288d5abe usermodehelper)
  2011-09-28 15:21   ` Linus Torvalds
@ 2011-09-28 17:11     ` Richard Cochran
  -1 siblings, 0 replies; 6+ messages in thread
From: Richard Cochran @ 2011-09-28 17:11 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, linux-arm-kernel, Krzysztof Halasa, Russell King

On Wed, Sep 28, 2011 at 08:21:05AM -0700, Linus Torvalds wrote:
> 
> Something seems to be calling ioctl() befor rest_init() has even
> completed. Which sounds odd, but I wonder if the schedule() there
> before it might have let 'init' get going.

It does look like it. The init is busybox, and the startup script does
mount, syslogd, and then ifup, so that all can go by quickly.

> Does something like the attached (UNTESTED) fix it?

Yup, problem cured.

Thanks,
Richard


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

* MAC firmware does not load due to (commit 288d5abe usermodehelper)
@ 2011-09-28 17:11     ` Richard Cochran
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Cochran @ 2011-09-28 17:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 28, 2011 at 08:21:05AM -0700, Linus Torvalds wrote:
> 
> Something seems to be calling ioctl() befor rest_init() has even
> completed. Which sounds odd, but I wonder if the schedule() there
> before it might have let 'init' get going.

It does look like it. The init is busybox, and the startup script does
mount, syslogd, and then ifup, so that all can go by quickly.

> Does something like the attached (UNTESTED) fix it?

Yup, problem cured.

Thanks,
Richard

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

end of thread, other threads:[~2011-09-28 17:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-28 12:06 MAC firmware does not load due to (commit 288d5abe usermodehelper) Richard Cochran
2011-09-28 12:06 ` Richard Cochran
2011-09-28 15:21 ` Linus Torvalds
2011-09-28 15:21   ` Linus Torvalds
2011-09-28 17:11   ` Richard Cochran
2011-09-28 17:11     ` Richard Cochran

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.