Loading drivers/pcmcia/ds.c +1 −2 Original line number Diff line number Diff line Loading @@ -82,8 +82,7 @@ static const lookup_t error_table[] = { { CS_BAD_PAGE, "Bad page number" }, { CS_BAD_SIZE, "Bad size" }, { CS_BAD_TYPE, "Bad type" }, { CS_BAD_VCC, "Bad Vcc" }, { CS_BAD_VPP, "Bad Vpp" }, { -EIO, "Input/Output error" }, { CS_NO_CARD, "No card present" }, { -EINVAL, "Bad parameter" }, { CS_GENERAL_FAILURE, "General failure" }, Loading drivers/pcmcia/pcmcia_resource.c +20 −9 Original line number Diff line number Diff line Loading @@ -291,20 +291,28 @@ int pcmcia_modify_configuration(struct pcmcia_device *p_dev, s->ops->set_socket(s, &s->socket); } if (mod->Attributes & CONF_VCC_CHANGE_VALID) return CS_BAD_VCC; if (mod->Attributes & CONF_VCC_CHANGE_VALID) { ds_dbg(s, 0, "changing Vcc is not allowed at this time\n"); return -EINVAL; } /* We only allow changing Vpp1 and Vpp2 to the same value */ if ((mod->Attributes & CONF_VPP1_CHANGE_VALID) && (mod->Attributes & CONF_VPP2_CHANGE_VALID)) { if (mod->Vpp1 != mod->Vpp2) return CS_BAD_VPP; ds_dbg(s, 0, "Vpp1 and Vpp2 must be the same\n"); return -EINVAL; s->socket.Vpp = mod->Vpp1; if (s->ops->set_socket(s, &s->socket)) return CS_BAD_VPP; if (s->ops->set_socket(s, &s->socket)) { dev_printk(KERN_WARNING, &s->dev, "Unable to set VPP\n"); return -EIO; } } else if ((mod->Attributes & CONF_VPP1_CHANGE_VALID) || (mod->Attributes & CONF_VPP2_CHANGE_VALID)) return CS_BAD_VPP; (mod->Attributes & CONF_VPP2_CHANGE_VALID)) { ds_dbg(s, 0, "changing Vcc is not allowed at this time\n"); return -EINVAL; } if (mod->Attributes & CONF_IO_CHANGE_WIDTH) { pccard_io_map io_off = { 0, 0, 0, 0, 1 }; Loading Loading @@ -485,8 +493,11 @@ int pcmcia_request_configuration(struct pcmcia_device *p_dev, /* Do power control. We don't allow changes in Vcc. */ s->socket.Vpp = req->Vpp; if (s->ops->set_socket(s, &s->socket)) return CS_BAD_VPP; if (s->ops->set_socket(s, &s->socket)) { dev_printk(KERN_WARNING, &s->dev, "Unable to set socket state\n"); return -EINVAL; } /* Pick memory or I/O card, DMA mode, interrupt */ c->IntType = req->IntType; Loading include/pcmcia/cs.h +2 −2 Original line number Diff line number Diff line Loading @@ -300,8 +300,8 @@ typedef struct error_info_t { #define CS_BAD_SIZE 0x0a #define CS_BAD_SOCKET -EINVAL #define CS_BAD_TYPE 0x0d #define CS_BAD_VCC 0x0e #define CS_BAD_VPP 0x0f #define CS_BAD_VCC -EINVAL #define CS_BAD_VPP -EINVAL #define CS_BAD_WINDOW -ENODEV #define CS_WRITE_FAILURE -EIO #define CS_NO_CARD 0x14 Loading Loading
drivers/pcmcia/ds.c +1 −2 Original line number Diff line number Diff line Loading @@ -82,8 +82,7 @@ static const lookup_t error_table[] = { { CS_BAD_PAGE, "Bad page number" }, { CS_BAD_SIZE, "Bad size" }, { CS_BAD_TYPE, "Bad type" }, { CS_BAD_VCC, "Bad Vcc" }, { CS_BAD_VPP, "Bad Vpp" }, { -EIO, "Input/Output error" }, { CS_NO_CARD, "No card present" }, { -EINVAL, "Bad parameter" }, { CS_GENERAL_FAILURE, "General failure" }, Loading
drivers/pcmcia/pcmcia_resource.c +20 −9 Original line number Diff line number Diff line Loading @@ -291,20 +291,28 @@ int pcmcia_modify_configuration(struct pcmcia_device *p_dev, s->ops->set_socket(s, &s->socket); } if (mod->Attributes & CONF_VCC_CHANGE_VALID) return CS_BAD_VCC; if (mod->Attributes & CONF_VCC_CHANGE_VALID) { ds_dbg(s, 0, "changing Vcc is not allowed at this time\n"); return -EINVAL; } /* We only allow changing Vpp1 and Vpp2 to the same value */ if ((mod->Attributes & CONF_VPP1_CHANGE_VALID) && (mod->Attributes & CONF_VPP2_CHANGE_VALID)) { if (mod->Vpp1 != mod->Vpp2) return CS_BAD_VPP; ds_dbg(s, 0, "Vpp1 and Vpp2 must be the same\n"); return -EINVAL; s->socket.Vpp = mod->Vpp1; if (s->ops->set_socket(s, &s->socket)) return CS_BAD_VPP; if (s->ops->set_socket(s, &s->socket)) { dev_printk(KERN_WARNING, &s->dev, "Unable to set VPP\n"); return -EIO; } } else if ((mod->Attributes & CONF_VPP1_CHANGE_VALID) || (mod->Attributes & CONF_VPP2_CHANGE_VALID)) return CS_BAD_VPP; (mod->Attributes & CONF_VPP2_CHANGE_VALID)) { ds_dbg(s, 0, "changing Vcc is not allowed at this time\n"); return -EINVAL; } if (mod->Attributes & CONF_IO_CHANGE_WIDTH) { pccard_io_map io_off = { 0, 0, 0, 0, 1 }; Loading Loading @@ -485,8 +493,11 @@ int pcmcia_request_configuration(struct pcmcia_device *p_dev, /* Do power control. We don't allow changes in Vcc. */ s->socket.Vpp = req->Vpp; if (s->ops->set_socket(s, &s->socket)) return CS_BAD_VPP; if (s->ops->set_socket(s, &s->socket)) { dev_printk(KERN_WARNING, &s->dev, "Unable to set socket state\n"); return -EINVAL; } /* Pick memory or I/O card, DMA mode, interrupt */ c->IntType = req->IntType; Loading
include/pcmcia/cs.h +2 −2 Original line number Diff line number Diff line Loading @@ -300,8 +300,8 @@ typedef struct error_info_t { #define CS_BAD_SIZE 0x0a #define CS_BAD_SOCKET -EINVAL #define CS_BAD_TYPE 0x0d #define CS_BAD_VCC 0x0e #define CS_BAD_VPP 0x0f #define CS_BAD_VCC -EINVAL #define CS_BAD_VPP -EINVAL #define CS_BAD_WINDOW -ENODEV #define CS_WRITE_FAILURE -EIO #define CS_NO_CARD 0x14 Loading