Revision afe3ef1d

b/hw/piix_pci.c
281 281
                     (pic_irq * PIIX_NUM_PIRQS))));
282 282
}
283 283

  
284
static void piix3_set_irq_level(PIIX3State *piix3, int pirq, int level,
285
                                bool propagate)
284
static void piix3_set_irq_level(PIIX3State *piix3, int pirq, int level)
286 285
{
287 286
    int pic_irq;
288 287
    uint64_t mask;
......
296 295
    piix3->pic_levels &= ~mask;
297 296
    piix3->pic_levels |= mask * !!level;
298 297

  
299
    if (propagate) {
300
        piix3_set_irq_pic(piix3, pic_irq);
301
    }
298
    piix3_set_irq_pic(piix3, pic_irq);
302 299
}
303 300

  
304 301
static void piix3_set_irq(void *opaque, int pirq, int level)
305 302
{
306 303
    PIIX3State *piix3 = opaque;
307
    piix3_set_irq_level(piix3, pirq, level, true);
304
    piix3_set_irq_level(piix3, pirq, level);
308 305
}
309 306

  
310 307
/* irq routing is changed. so rebuild bitmap */
......
315 312
    piix3->pic_levels = 0;
316 313
    for (pirq = 0; pirq < PIIX_NUM_PIRQS; pirq++) {
317 314
        piix3_set_irq_level(piix3, pirq,
318
                            pci_bus_get_irq_level(piix3->dev.bus, pirq),
319
                            false);
315
                            pci_bus_get_irq_level(piix3->dev.bus, pirq));
320 316
    }
321 317
}
322 318

  

Also available in: Unified diff