]> git.hungrycats.org Git - linux/commit
[PATCH] Fix init_i82365 sysfs ordering oops
authorAndrew Morton <akpm@osdl.org>
Mon, 29 Dec 2003 13:43:54 +0000 (05:43 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Mon, 29 Dec 2003 13:43:54 +0000 (05:43 -0800)
commit0f3edb4c7b851a3e2893e64bb695b84b98e0a416
tree7941d2693a4e6383e16a656d0764faf718f9446e
parent4e1c704a69ded8179cc30e87a630c76d70906da1
[PATCH] Fix init_i82365 sysfs ordering oops

From: Russell King <rmk@arm.linux.org.uk>

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.
drivers/pcmcia/i82365.c