pcmcia: use pccardd to handle eject, insert, suspend and resume requests

This avoids any sysfs-related deadlock (or lockdep warning), such
as reported at http://lkml.org/lkml/2010/1/17/88 .

Reported-by: Ming Lei <tom.leiming@gmail.com>
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
Dominik Brodowski
2010-01-17 18:13:31 +01:00
parent cfe5d80951
commit f971dbd5da
5 changed files with 83 additions and 141 deletions

View File

@@ -200,13 +200,14 @@ struct pcmcia_socket {
struct task_struct *thread;
struct completion thread_done;
unsigned int thread_events;
unsigned int sysfs_events;
/* For the non-trivial interaction between these locks,
* see Documentation/pcmcia/locking.txt */
struct mutex skt_mutex;
struct mutex ops_mutex;
/* protects thread_events */
/* protects thread_events and sysfs_events */
spinlock_t thread_lock;
/* pcmcia (16-bit) */