aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/cistpl.c
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-01-17 13:30:53 -0500
committerDominik Brodowski <linux@dominikbrodowski.net>2010-02-17 11:48:26 -0500
commitaf461fc1875b6ec18e23b5f670af36c4ed35c84e (patch)
treefa09a446c94d533c169b9e28e97c0e8c03d36912 /drivers/pcmcia/cistpl.c
parentf971dbd5da4e2fbf756d07b938a9c65a9c75178b (diff)
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/cistpl.c')
-rw-r--r--drivers/pcmcia/cistpl.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c
index 14de287a8bf6..17a5da32cce1 100644
--- a/drivers/pcmcia/cistpl.c
+++ b/drivers/pcmcia/cistpl.c
@@ -1670,15 +1670,7 @@ static ssize_t pccard_store_cis(struct kobject *kobj,
1670 if (error) 1670 if (error)
1671 return -EIO; 1671 return -EIO;
1672 1672
1673 mutex_lock(&s->skt_mutex); 1673 pcmcia_parse_uevents(s, PCMCIA_UEVENT_REQUERY);
1674 if ((s->callback) && (s->state & SOCKET_PRESENT) &&
1675 !(s->state & SOCKET_CARDBUS)) {
1676 if (try_module_get(s->callback->owner)) {
1677 s->callback->requery(s, 1);
1678 module_put(s->callback->owner);
1679 }
1680 }
1681 mutex_unlock(&s->skt_mutex);
1682 1674
1683 return count; 1675 return count;
1684} 1676}