s390x/kvm: make flic play well with old kernels
If we run with an old kernel that does not support KVM_CAP_IRQ_ROUTING, we don't have to do anything in the ->register_io_adapter and ->io_adapter_map callbacks and therefore should return 0 instead of -ENOSYS (just as the non-kvm flic does). This fixes using adapter interrupts when running under an older kernel, which broke with "s390x: add I/O adapter registration". Reported-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
This commit is contained in:
parent
f068d320de
commit
08da527fd0
|
@ -170,7 +170,8 @@ static int kvm_s390_register_io_adapter(S390FLICState *fs, uint32_t id,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!kvm_check_extension(kvm_state, KVM_CAP_IRQ_ROUTING)) {
|
if (!kvm_check_extension(kvm_state, KVM_CAP_IRQ_ROUTING)) {
|
||||||
return -ENOSYS;
|
/* nothing to do */
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
|
r = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
|
||||||
|
@ -195,7 +196,8 @@ static int kvm_s390_io_adapter_map(S390FLICState *fs, uint32_t id,
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (!kvm_check_extension(kvm_state, KVM_CAP_IRQ_ROUTING)) {
|
if (!kvm_check_extension(kvm_state, KVM_CAP_IRQ_ROUTING)) {
|
||||||
return -ENOSYS;
|
/* nothing to do */
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
|
r = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
|
||||||
|
|
Loading…
Reference in New Issue