diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c index 9a49c394f04f..e679e708db63 100644 --- a/drivers/pcmcia/cs.c +++ b/drivers/pcmcia/cs.c @@ -689,6 +689,9 @@ static int pccardd(void *__skt) complete(&skt->thread_done); + /* wait for userspace to catch up */ + msleep(250); + set_freezable(); for (;;) { unsigned long flags; diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 93925f5908b8..0f98be4450b7 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -1356,12 +1356,6 @@ static int __devinit pcmcia_bus_add_socket(struct device *dev, return -ENODEV; } - /* - * Ugly. But we want to wait for the socket threads to have started up. - * We really should let the drivers themselves drive some of this.. - */ - msleep(250); - ret = sysfs_create_bin_file(&dev->kobj, &pccard_cis_attr); if (ret) { dev_printk(KERN_ERR, dev, "PCMCIA registration failed\n");