Re: bug in init_i82365 wrt sysfs

From: Arnaldo Carvalho de Melo
Date: Fri Oct 10 2003 - 20:02:51 EST


Em Fri, Oct 10, 2003 at 09:01:04AM +0100, Russell King escreveu:
> On Fri, Oct 10, 2003 at 12:59:40AM -0300, Arnaldo Carvalho de Melo wrote:
> > Call Trace:
> > [<c01dbf4c>] class_device_create_file+0x1c/0x30
> > [<c2805188>] init_i82365+0xe8/0x1e8 [i82365]
> > [<c0139cff>] sys_init_module+0x15f/0x2f0
> > [<c0109897>] syscall_call+0x7/0xb
>
> This oops has been caused by the need to register the class before
> registering any objects against it. Unfortunately, the class needs
> to be registered asynchronously in a separate thread to avoid driver
> model deadlock with yenta with cardbus cards inserted or standard
> PCMCIA cards not being detected correctly due to a race.
>
> I think the only real solution is to remove the class_device_create_file
> calls from all socket drivers. This is just a simple commenting out of
> the calls, and should be suitable for the remainder of the -test kernels.
>
> Due to the number of cases that we're encountering with PCMCIA, I'm
> beginning to wonder if the driver model could be fixed to be more kind
> to PCMCIA by avoiding some of these ordering dependencies. None of this
> would be a problem if the driver model would allow PCI device drivers to
> register PCI devices while their probe or remove functions were executing.
>
> Below is a completely untested patch. Arnaldo - please test whether this
> fixes your problem.

Yes, it fixes, thanks.

- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/