ISA PnP: Keep the local device card set when going out of forced configuration, fixes UM8669F configuration.
This commit is contained in:
@@ -1117,13 +1117,17 @@ isapnp_enable_card(void *priv, uint8_t enable)
|
|||||||
/* Enable or disable the card. */
|
/* Enable or disable the card. */
|
||||||
if (!!enable ^ !!card->enable)
|
if (!!enable ^ !!card->enable)
|
||||||
card->state = (enable == ISAPNP_CARD_FORCE_CONFIG) ? PNP_STATE_CONFIG : PNP_STATE_WAIT_FOR_KEY;
|
card->state = (enable == ISAPNP_CARD_FORCE_CONFIG) ? PNP_STATE_CONFIG : PNP_STATE_WAIT_FOR_KEY;
|
||||||
|
int old_enable = card->enable;
|
||||||
card->enable = enable;
|
card->enable = enable;
|
||||||
|
|
||||||
/* Invalidate other references if we're disabling this card. */
|
/* Invalidate other references if we're disabling this card. */
|
||||||
if (!card->enable) {
|
if ((card->enable) && (dev->current_ld_card != NULL) && (dev->current_ld_card != card)) {
|
||||||
|
dev->current_ld = NULL;
|
||||||
|
dev->current_ld_card = NULL;
|
||||||
|
} if (!card->enable) {
|
||||||
if (dev->isolated_card == card)
|
if (dev->isolated_card == card)
|
||||||
dev->isolated_card = NULL;
|
dev->isolated_card = NULL;
|
||||||
if (dev->current_ld_card == card) {
|
if ((dev->current_ld_card == card) && (old_enable != ISAPNP_CARD_FORCE_CONFIG)) {
|
||||||
dev->current_ld = NULL;
|
dev->current_ld = NULL;
|
||||||
dev->current_ld_card = NULL;
|
dev->current_ld_card = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user