diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-01-02 17:34:09 +0100 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-01-17 18:30:49 +0100 |
commit | 180c33ee409eb3ed605d4ad9884e4a526a7655ff (patch) | |
tree | 0bb12fc08cc26eeef0deb51eb32372e791b0a896 /drivers/pcmcia/ds.c | |
parent | 57197b9b7712eb19f5344c466e8aefbac1adbe55 (diff) | |
download | linux-180c33ee409eb3ed605d4ad9884e4a526a7655ff.tar.gz linux-180c33ee409eb3ed605d4ad9884e4a526a7655ff.tar.xz |
pcmcia: call CIS cleanup from ds.c
As ds.c is the only real user of CIS access functions, call the
cleanup functions from ds.c, too.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/ds.c')
-rw-r--r-- | drivers/pcmcia/ds.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 87e06395c129..7bb52b003f0e 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -1241,10 +1241,12 @@ static int ds_event(struct pcmcia_socket *skt, event_t event, int priority) s->pcmcia_state.present = 0; pcmcia_card_remove(skt, NULL); handle_event(skt, event); + destroy_cis_cache(s); break; case CS_EVENT_CARD_INSERTION: s->pcmcia_state.present = 1; + destroy_cis_cache(s); /* to be on the safe side... */ pcmcia_card_add(skt); handle_event(skt, event); break; @@ -1366,6 +1368,7 @@ static void pcmcia_bus_remove_socket(struct device *dev, /* unregister any unbound devices */ mutex_lock(&socket->skt_mutex); pcmcia_card_remove(socket, NULL); + release_cis_mem(socket); mutex_unlock(&socket->skt_mutex); pcmcia_put_socket(socket); |