aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pcmcia/pcmcia_resource.c16
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 }