PnP-related IDE fixes.

This commit is contained in:
OBattler
2022-07-18 23:39:40 +02:00
parent 645c4e6902
commit 37893cd8ab

View File

@@ -2614,7 +2614,7 @@ ide_read_ali_76(void)
}
static void
void
ide_set_handlers(uint8_t board)
{
if (ide_boards[board] == NULL)
@@ -2636,7 +2636,7 @@ ide_set_handlers(uint8_t board)
}
static void
void
ide_remove_handlers(uint8_t board)
{
if (ide_boards[board] == NULL)
@@ -2878,11 +2878,11 @@ ide_board_init(int board, int irq, int base_main, int side_main, int type)
void
ide_pnp_config_changed(uint8_t ld, isapnp_device_config_t *config, void *priv)
{
intptr_t board = (intptr_t) priv;
if (ld)
return;
intptr_t board = (intptr_t) priv;
if (ide_boards[board]->base_main || ide_boards[board]->side_main) {
ide_remove_handlers(board);
ide_boards[board]->base_main = ide_boards[board]->side_main = 0;
@@ -2891,10 +2891,10 @@ ide_pnp_config_changed(uint8_t ld, isapnp_device_config_t *config, void *priv)
ide_boards[board]->irq = -1;
if (config->activate) {
ide_boards[board]->base_main = config->io[0].base;
ide_boards[board]->side_main = config->io[1].base;
ide_boards[board]->base_main = (config->io[0].base != ISAPNP_IO_DISABLED) ? config->io[0].base : 0x0000;
ide_boards[board]->side_main = (config->io[1].base != ISAPNP_IO_DISABLED) ? config->io[1].base : 0x0000;
if ((ide_boards[board]->base_main != ISAPNP_IO_DISABLED) && (ide_boards[board]->side_main != ISAPNP_IO_DISABLED))
if (ide_boards[board]->base_main && ide_boards[board]->side_main)
ide_set_handlers(board);
if (config->irq[0].irq != ISAPNP_IRQ_DISABLED)