diff options
Diffstat (limited to 'drivers/pcmcia/pcmcia_ioctl.c')
| -rw-r--r-- | drivers/pcmcia/pcmcia_ioctl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c index 2b11a332175e..c53db7ceda5e 100644 --- a/drivers/pcmcia/pcmcia_ioctl.c +++ b/drivers/pcmcia/pcmcia_ioctl.c | |||
| @@ -304,6 +304,7 @@ static int get_device_info(struct pcmcia_socket *s, bind_info_t *bind_info, int | |||
| 304 | { | 304 | { |
| 305 | dev_node_t *node; | 305 | dev_node_t *node; |
| 306 | struct pcmcia_device *p_dev; | 306 | struct pcmcia_device *p_dev; |
| 307 | struct pcmcia_driver *p_drv; | ||
| 307 | unsigned long flags; | 308 | unsigned long flags; |
| 308 | int ret = 0; | 309 | int ret = 0; |
| 309 | 310 | ||
| @@ -358,7 +359,8 @@ static int get_device_info(struct pcmcia_socket *s, bind_info_t *bind_info, int | |||
| 358 | found: | 359 | found: |
| 359 | spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags); | 360 | spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags); |
| 360 | 361 | ||
| 361 | if (p_dev->state & DEV_CONFIG_PENDING) { | 362 | p_drv = to_pcmcia_drv(p_dev->dev.driver); |
| 363 | if (p_drv && !p_dev->_locked) { | ||
| 362 | ret = -EAGAIN; | 364 | ret = -EAGAIN; |
| 363 | goto err_put; | 365 | goto err_put; |
| 364 | } | 366 | } |
