ISAPnP: only invalidate card references when disabling the card

This commit is contained in:
RichardG867
2021-04-03 19:02:11 -03:00
parent b6a948018a
commit 5940b3f12e
2 changed files with 8 additions and 6 deletions

View File

@@ -913,11 +913,13 @@ isapnp_enable_card(void *priv, uint8_t enable)
card->state = (enable == 2) ? PNP_STATE_CONFIG : PNP_STATE_WAIT_FOR_KEY;
/* Invalidate other references if we're disabling this card. */
if (dev->isolated_card == card)
dev->isolated_card = NULL;
if (dev->current_ld_card == card) {
dev->current_ld = NULL;
dev->current_ld_card = NULL;
if (!card->enable) {
if (dev->isolated_card == card)
dev->isolated_card = NULL;
if (dev->current_ld_card == card) {
dev->current_ld = NULL;
dev->current_ld_card = NULL;
}
}
break;

View File

@@ -39,7 +39,7 @@
#include <86box/isapnp.h>
/* This ROM is reconstructed out of the several assumptions, some of which based on the IT8671F. */
/* This ROM is reconstructed out of the several assumptions, some of which are based on the IT8671F. */
static uint8_t um8669f_pnp_rom[] = {
0x55, 0xa3, 0x86, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, /* UMC8669, dummy checksum (filled in by isapnp_add_card) */
0x0a, 0x10, 0x10, /* PnP version 1.0, vendor version 1.0 */