diff options
-rw-r--r-- | drivers/pcmcia/pcmcia_resource.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index 7c3d03bb4f30..ba82cb3b1944 100644 --- a/drivers/pcmcia/pcmcia_resource.c +++ b/drivers/pcmcia/pcmcia_resource.c | |||
@@ -275,19 +275,9 @@ int pcmcia_modify_configuration(struct pcmcia_device *p_dev, | |||
275 | goto unlock; | 275 | goto unlock; |
276 | } | 276 | } |
277 | 277 | ||
278 | if (mod->Attributes & CONF_IRQ_CHANGE_VALID) { | 278 | if (mod->Attributes & (CONF_IRQ_CHANGE_VALID | CONF_VCC_CHANGE_VALID)) { |
279 | if (mod->Attributes & CONF_ENABLE_IRQ) { | 279 | dev_dbg(&s->dev, |
280 | c->Attributes |= CONF_ENABLE_IRQ; | 280 | "changing Vcc or IRQ is not allowed at this time\n"); |
281 | s->socket.io_irq = s->irq.AssignedIRQ; | ||
282 | } else { | ||
283 | c->Attributes &= ~CONF_ENABLE_IRQ; | ||
284 | s->socket.io_irq = 0; | ||
285 | } | ||
286 | s->ops->set_socket(s, &s->socket); | ||
287 | } | ||
288 | |||
289 | if (mod->Attributes & CONF_VCC_CHANGE_VALID) { | ||
290 | dev_dbg(&s->dev, "changing Vcc is not allowed at this time\n"); | ||
291 | ret = -EINVAL; | 281 | ret = -EINVAL; |
292 | goto unlock; | 282 | goto unlock; |
293 | } | 283 | } |