diff options
Diffstat (limited to 'drivers/pcmcia/cs.c')
| -rw-r--r-- | drivers/pcmcia/cs.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c index c68c5d33828..0660ad18258 100644 --- a/drivers/pcmcia/cs.c +++ b/drivers/pcmcia/cs.c @@ -186,12 +186,6 @@ int pcmcia_register_socket(struct pcmcia_socket *socket)  	spin_lock_init(&socket->lock); -	if (socket->resource_ops->init) { -		ret = socket->resource_ops->init(socket); -		if (ret) -			return (ret); -	} -  	/* try to obtain a socket number [yes, it gets ugly if we  	 * register more than 2^sizeof(unsigned int) pcmcia  	 * sockets... but the socket number is deprecated @@ -226,7 +220,7 @@ int pcmcia_register_socket(struct pcmcia_socket *socket)  	/* set proper values in socket->dev */  	dev_set_drvdata(&socket->dev, socket);  	socket->dev.class = &pcmcia_socket_class; -	snprintf(socket->dev.bus_id, BUS_ID_SIZE, "pcmcia_socket%u", socket->sock); +	dev_set_name(&socket->dev, "pcmcia_socket%u", socket->sock);  	/* base address = 0, map = 0 */  	socket->cis_mem.flags = 0; @@ -239,6 +233,12 @@ int pcmcia_register_socket(struct pcmcia_socket *socket)  	mutex_init(&socket->skt_mutex);  	spin_lock_init(&socket->thread_lock); +	if (socket->resource_ops->init) { +		ret = socket->resource_ops->init(socket); +		if (ret) +			goto err; +	} +  	tsk = kthread_run(pccardd, socket, "pccardd");  	if (IS_ERR(tsk)) {  		ret = PTR_ERR(tsk);  |