Always rescan the devices upon echo'ing something to available_resources_setup_done. This is needed for proper "coldplug" support. Signed-off-by: Dominik Brodowski Index: 2.6.11-rc5/drivers/pcmcia/socket_sysfs.c =================================================================== --- 2.6.11-rc5.orig/drivers/pcmcia/socket_sysfs.c 2005-02-27 08:54:46.000000000 +0100 +++ 2.6.11-rc5/drivers/pcmcia/socket_sysfs.c 2005-02-27 08:56:03.000000000 +0100 @@ -163,24 +163,19 @@ return -EINVAL; spin_lock_irqsave(&s->lock, flags); - if (!s->resource_setup_done) { - s->resource_setup_done = 1; - spin_unlock_irqrestore(&s->lock, flags); + s->resource_setup_done = 1; + spin_unlock_irqrestore(&s->lock, flags); - down(&s->skt_sem); - if ((s->callback) && - (s->state & SOCKET_PRESENT) && - !(s->state & SOCKET_CARDBUS)) { - if (try_module_get(s->callback->owner)) { - s->callback->resources_done(s); - module_put(s->callback->owner); - } + down(&s->skt_sem); + if ((s->callback) && + (s->state & SOCKET_PRESENT) && + !(s->state & SOCKET_CARDBUS)) { + if (try_module_get(s->callback->owner)) { + s->callback->resources_done(s); + module_put(s->callback->owner); } - up(&s->skt_sem); - - return count; } - spin_unlock_irqrestore(&s->lock, flags); + up(&s->skt_sem); return count; }