diff options
| author | Russell King <rmk@flint.arm.linux.org.uk> | 2003-09-06 21:08:46 +0100 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2003-09-06 21:08:46 +0100 |
| commit | 6dbb44ac76478255907baf7697a2403591d1efb2 (patch) | |
| tree | 07642b4446dd3541223196d7d5ae8771c800eaae /include/linux | |
| parent | 45775284c8df2a185faa2be1650274df4e86a1fd (diff) | |
[PCMCIA] Fix race condition causing cards to be incorrectly recognised
This patch fixes a race condition between the pcmcia socket initial
insert processing, ds.c and cardmgr. This allowed cardmgr to believe
that a card was inserted while the card is still in the process of
resetting itself, and it therefore tried to read the CIS while it
was unavailable.
We change the meaning of SOCKET_PRESENT slightly - it now means that
a card is present _and we have completed its initialisation_. We
introduce SOCKET_INUSE to indicate that we have a reference count
against the module.
We also take the skt_sem to prevent clients from registering while
we're handling an insert/remove/suspend/resume.
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
