summaryrefslogtreecommitdiffstats
path: root/include/pcmcia
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-01-17 18:13:31 +0100
committerDominik Brodowski <linux@dominikbrodowski.net>2010-02-17 17:48:25 +0100
commitf971dbd5da4e2fbf756d07b938a9c65a9c75178b (patch)
treed21b138ac2ea3ada0e27910425cfd988f72dbede /include/pcmcia
parentcfe5d809518eda3d5e2da87c5ccbe8647143573a (diff)
downloadop-kernel-dev-f971dbd5da4e2fbf756d07b938a9c65a9c75178b.zip
op-kernel-dev-f971dbd5da4e2fbf756d07b938a9c65a9c75178b.tar.gz
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>
Diffstat (limited to 'include/pcmcia')
-rw-r--r--include/pcmcia/ss.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index cfaccc2..ea5dec8 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -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) */
OpenPOWER on IntegriCloud