From: David Hildenbrand Date: Fri, 7 Apr 2017 08:50:39 +0000 (+0200) Subject: KVM: x86: set data directly in picdev_read() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=84a5c79e7048b94100d28f313b00dcbbe457c398;p=openwrt%2Fstaging%2Fblogic.git KVM: x86: set data directly in picdev_read() Now it looks almost as picdev_write(). Signed-off-by: David Hildenbrand Signed-off-by: Radim Krčmář --- diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c index 5b5c87f4d8bd..d481f3346eb5 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; }