mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 07:04:24 +00:00
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>
This commit is contained in:
parent
a3d3203e4b
commit
7a410e8d4d
1 changed files with 3 additions and 2 deletions
|
@ -105,6 +105,7 @@ typedef struct vrc4171_socket {
|
||||||
char name[24];
|
char name[24];
|
||||||
int csc_irq;
|
int csc_irq;
|
||||||
int io_irq;
|
int io_irq;
|
||||||
|
spinlock_t lock;
|
||||||
} vrc4171_socket_t;
|
} vrc4171_socket_t;
|
||||||
|
|
||||||
static vrc4171_socket_t vrc4171_sockets[CARD_MAX_SLOTS];
|
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;
|
slot = sock->sock;
|
||||||
socket = &vrc4171_sockets[slot];
|
socket = &vrc4171_sockets[slot];
|
||||||
|
|
||||||
spin_lock_irq(&sock->lock);
|
spin_lock_irq(&socket->lock);
|
||||||
|
|
||||||
voltage = set_Vcc_value(state->Vcc);
|
voltage = set_Vcc_value(state->Vcc);
|
||||||
exca_write_byte(slot, CARD_VOLTAGE_SELECT, voltage);
|
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;
|
cscint |= I365_CSC_DETECT;
|
||||||
exca_write_byte(slot, I365_CSCINT, cscint);
|
exca_write_byte(slot, I365_CSCINT, cscint);
|
||||||
|
|
||||||
spin_unlock_irq(&sock->lock);
|
spin_unlock_irq(&socket->lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue