Now it looks almost as picdev_write(). Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> --- arch/x86/kvm/i8259.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c index 53c4c6a..52d21f2 100644 --- a/arch/x86/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c @@ -484,7 +484,7 @@ static int picdev_write(struct kvm_pic *s, static int picdev_read(struct kvm_pic *s, gpa_t addr, int len, void *val) { - unsigned char data = 0; + unsigned char *data = (unsigned char *)val; if (len != 1) { memset(val, 0, len); @@ -497,19 +497,18 @@ static int picdev_read(struct kvm_pic *s, case 0xa0: case 0xa1: pic_lock(s); - data = pic_ioport_read(&s->pics[addr >> 7], addr); + *data = pic_ioport_read(&s->pics[addr >> 7], addr); pic_unlock(s); break; case 0x4d0: case 0x4d1: pic_lock(s); - data = elcr_ioport_read(&s->pics[addr & 1], addr); + *data = elcr_ioport_read(&s->pics[addr & 1], addr); pic_unlock(s); break; default: return -EOPNOTSUPP; } - *(unsigned char *)val = data; return 0; } -- 2.9.3