diff options
Diffstat (limited to 'drivers/pcmcia/pci_socket.c')
-rw-r--r-- | drivers/pcmcia/pci_socket.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/pcmcia/pci_socket.c b/drivers/pcmcia/pci_socket.c index 51981e41e..3f4463e75 100644 --- a/drivers/pcmcia/pci_socket.c +++ b/drivers/pcmcia/pci_socket.c @@ -70,9 +70,8 @@ static int pci_inquire_socket(unsigned int sock, socket_cap_t *cap) { pci_socket_t *socket = pci_socket_array + sock; - if (socket->op && socket->op->inquire) - return socket->op->inquire(socket, cap); - return -EINVAL; + *cap = socket->cap; + return 0; } static int pci_get_status(unsigned int sock, unsigned int *value) @@ -166,8 +165,10 @@ static int __init add_pci_socket(int nr, struct pci_dev *dev, struct pci_socket_ { pci_socket_t *socket = nr + pci_socket_array; + memset(socket, 0, sizeof(*socket)); socket->dev = dev; socket->op = ops; + init_waitqueue_head(&socket->wait); return socket->op->open(socket); } |