diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-01-17 19:30:53 +0100 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-02-17 17:48:26 +0100 |
commit | af461fc1875b6ec18e23b5f670af36c4ed35c84e (patch) | |
tree | fa09a446c94d533c169b9e28e97c0e8c03d36912 /drivers/pcmcia/socket_sysfs.c | |
parent | pcmcia: use pccardd to handle eject, insert, suspend and resume requests (diff) | |
download | linux-af461fc1875b6ec18e23b5f670af36c4ed35c84e.tar.xz linux-af461fc1875b6ec18e23b5f670af36c4ed35c84e.zip |
pcmcia: delay re-scanning and re-querying of PCMCIA bus
After a CIS update -- or the finalization of the resource database --,
proceed with the re-scanning or re-querying of PCMCIA cards only in
a separate thread to avoid deadlocks.
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/socket_sysfs.c')
-rw-r--r-- | drivers/pcmcia/socket_sysfs.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/pcmcia/socket_sysfs.c b/drivers/pcmcia/socket_sysfs.c index fba0e30183f4..08278016e58d 100644 --- a/drivers/pcmcia/socket_sysfs.c +++ b/drivers/pcmcia/socket_sysfs.c @@ -201,16 +201,7 @@ static ssize_t pccard_store_resource(struct device *dev, s->resource_setup_done = 1; mutex_unlock(&s->ops_mutex); - mutex_lock(&s->skt_mutex); - if ((s->callback) && - (s->state & SOCKET_PRESENT) && - !(s->state & SOCKET_CARDBUS)) { - if (try_module_get(s->callback->owner)) { - s->callback->requery(s, 0); - module_put(s->callback->owner); - } - } - mutex_unlock(&s->skt_mutex); + pcmcia_parse_uevents(s, PCMCIA_UEVENT_REQUERY); return count; } |