Browse Source

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>
Yoichi Yuasa 15 years ago
parent
commit
7a410e8d4d
1 changed files with 3 additions and 2 deletions
  1. 3 2
      drivers/pcmcia/vrc4171_card.c

+ 3 - 2
drivers/pcmcia/vrc4171_card.c

@@ -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;
 }
 }