mirror of https://gitee.com/openkylin/linux.git
[PATCH] pcmcia: fix ioctl GET_CONFIGURATION_INFO for pcmcia_cards
Values displayed when by cardctl config are horribly wrong for 16bit cards. this fixes it up by not using memcpy() since source and target struct are very different. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
f47ad21492
commit
47a31976ca
|
@ -245,10 +245,17 @@ int pccard_get_configuration_info(struct pcmcia_socket *s,
|
|||
return CS_SUCCESS;
|
||||
}
|
||||
|
||||
/* !!! This is a hack !!! */
|
||||
memcpy(&config->Attributes, &c->Attributes, sizeof(config_t));
|
||||
config->Attributes |= CONF_VALID_CLIENT;
|
||||
config->CardValues = c->CardValues;
|
||||
config->Attributes = c->Attributes | CONF_VALID_CLIENT;
|
||||
config->Vcc = s->socket.Vcc;
|
||||
config->Vpp1 = config->Vpp2 = s->socket.Vpp;
|
||||
config->IntType = c->IntType;
|
||||
config->ConfigBase = c->ConfigBase;
|
||||
config->Status = c->Status;
|
||||
config->Pin = c->Pin;
|
||||
config->Copy = c->Copy;
|
||||
config->Option = c->Option;
|
||||
config->ExtStatus = c->ExtStatus;
|
||||
config->Present = config->CardValues = c->CardValues;
|
||||
config->IRQAttributes = c->irq.Attributes;
|
||||
config->AssignedIRQ = s->irq.AssignedIRQ;
|
||||
config->BasePort1 = c->io.BasePort1;
|
||||
|
|
Loading…
Reference in New Issue