Skip to content

Commit

Permalink
pcmcia: do not lock socket driver module in pcmcia_get_socket()
Browse files Browse the repository at this point in the history
Do not lock the socket driver module in pcmcia_get_socket(), as
the PCMCIA core can handle a socket module removal: In
pcmcia_unregister_socket(), we explicitely wait for the last
put_device() to succeed.

Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
  • Loading branch information
Dominik Brodowski committed Jan 17, 2010
1 parent 3f32b3c commit 593f010
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions drivers/pcmcia/cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,19 +140,13 @@ struct pcmcia_socket *pcmcia_get_socket(struct pcmcia_socket *skt)
struct device *dev = get_device(&skt->dev);
if (!dev)
return NULL;
skt = dev_get_drvdata(dev);
if (!try_module_get(skt->owner)) {
put_device(&skt->dev);
return NULL;
}
return skt;
return dev_get_drvdata(dev);
}
EXPORT_SYMBOL(pcmcia_get_socket);


void pcmcia_put_socket(struct pcmcia_socket *skt)
{
module_put(skt->owner);
put_device(&skt->dev);
}
EXPORT_SYMBOL(pcmcia_put_socket);
Expand Down

0 comments on commit 593f010

Please sign in to comment.