diff options
author | Yoichi Yuasa <yuasa@linux-mips.org> | 2010-03-10 15:57:56 +0900 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-03-15 14:50:12 +0100 |
commit | 7a410e8d4d97457c8c381e2de9cdc7bd3306badc (patch) | |
tree | eaf71bdf1e8ca804301d409e6cfd70c0e27a8d68 /drivers/pcmcia | |
parent | a3d3203e4bb40f253b1541e310dc0f9305be7c84 (diff) | |
download | linux-7a410e8d4d97457c8c381e2de9cdc7bd3306badc.tar.bz2 |
pcmcia/vrc4171: use local spinlock for device local lock.
struct pcmcia_socket lock had been used before.
Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/vrc4171_card.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pcmcia/vrc4171_card.c b/drivers/pcmcia/vrc4171_card.c index c9fcbdc164ea..aaccdb9f4ba1 100644 --- a/drivers/pcmcia/vrc4171_card.c +++ b/drivers/pcmcia/vrc4171_card.c @@ -105,6 +105,7 @@ typedef struct vrc4171_socket { char name[24]; int csc_irq; int io_irq; + spinlock_t lock; } vrc4171_socket_t; static vrc4171_socket_t vrc4171_sockets[CARD_MAX_SLOTS]; @@ -327,7 +328,7 @@ static int pccard_set_socket(struct pcmcia_socket *sock, socket_state_t *state) slot = sock->sock; socket = &vrc4171_sockets[slot]; - spin_lock_irq(&sock->lock); + spin_lock_irq(&socket->lock); voltage = set_Vcc_value(state->Vcc); exca_write_byte(slot, CARD_VOLTAGE_SELECT, voltage); @@ -370,7 +371,7 @@ static int pccard_set_socket(struct pcmcia_socket *sock, socket_state_t *state) cscint |= I365_CSC_DETECT; exca_write_byte(slot, I365_CSCINT, cscint); - spin_unlock_irq(&sock->lock); + spin_unlock_irq(&socket->lock); return 0; } |