Skip to content

Commit

Permalink
pcmcia: call CIS cleanup from ds.c
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Dominik Brodowski committed Jan 17, 2010
1 parent 57197b9 commit 180c33e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
3 changes: 0 additions & 3 deletions drivers/pcmcia/cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,6 @@ void pcmcia_unregister_socket(struct pcmcia_socket *socket)
if (socket->thread)
kthread_stop(socket->thread);

release_cis_mem(socket);

/* remove from our own list */
down_write(&pcmcia_socket_list_rwsem);
list_del(&socket->socket_list);
Expand Down Expand Up @@ -399,7 +397,6 @@ static void socket_shutdown(struct pcmcia_socket *s)
s->ops->set_socket(s, &s->socket);
s->irq.AssignedIRQ = s->irq.Config = 0;
s->lock_count = 0;
destroy_cis_cache(s);
kfree(s->fake_cis);
s->fake_cis = NULL;
#ifdef CONFIG_CARDBUS
Expand Down
3 changes: 3 additions & 0 deletions drivers/pcmcia/ds.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 180c33e

Please sign in to comment.