set_bit on indicators doesn't go well on 32 bit targets:
note: expected 'long unsigned int *' but argument is of type 'uint64_t *'
Switch to bit shifts instead.
Signed-off-by: Cornelia Huck <[email protected]>
[agraf: use 1ULL instead]
Signed-off-by: Alexander Graf <[email protected]>
if (vector < VIRTIO_PCI_QUEUE_MAX) {
indicators = ldq_phys(dev->indicators);
- set_bit(vector, &indicators);
+ indicators |= 1ULL << vector;
stq_phys(dev->indicators, indicators);
} else {
vector = 0;
indicators = ldq_phys(dev->indicators2);
- set_bit(vector, &indicators);
+ indicators |= 1ULL << vector;
stq_phys(dev->indicators2, indicators);
}