On 22/11/2016 18:22, Cédric Le Goater wrote:
>> +
>> +        g_assert(words[1]); /* device */
>> +        g_assert(words[2]); /* gpio list */
>> +        g_assert(words[3]); /* gpio line in list */
>> +        g_assert(words[4]); /* level */
>> +        dev = DEVICE(object_resolve_path(words[1], NULL));
>> +        if (!dev) {
>> +            qtest_send_prefix(chr);
>> +            qtest_send(chr, "FAIL Unknown device\n");
>> +            return;
>> +        }
>> +
>> +        irq_num = atoi(words[3]);
>> +        level = atoi(words[4]);
>> +
>> +        QLIST_FOREACH(ngl, &dev->gpios, node) {
>> +            if (strcmp(words[2], ngl->name) == 0 && ngl->num_in > irq_num) {
>> +                irq = ngl->in[irq_num];
>> +            }
>> +        }
>> +
>> +        if (irq == NULL) {
>> +            qtest_send_prefix(chr);
>> +            qtest_send(chr, "FAIL Unknown IRQ\n");
>> +            return;
>> +        }
>> +
>> +        qemu_set_irq(irq, level);

This seems wrong.  The IRQ should not be modifiable by the test.

Paolo

>> +
>> +        qtest_send_prefix(chr);
>> +        qtest_send(chr, "OK\n");

Reply via email to