Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus-4.1b-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull two xen bugfixes from David Vrabel:

- fix ARM build regression.

- fix VIRQ_CONSOLE related oops.

* tag 'for-linus-4.1b-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen/events: don't bind non-percpu VIRQs with percpu chip
xen/arm: Define xen_arch_suspend()

+11 -6
+1
arch/arm/xen/enlighten.c
··· 272 272 void xen_arch_post_suspend(int suspend_cancelled) { } 273 273 void xen_timer_resume(void) { } 274 274 void xen_arch_resume(void) { } 275 + void xen_arch_suspend(void) { } 275 276 276 277 277 278 /* In the hypervisor.S file. */
+1 -1
drivers/tty/hvc/hvc_xen.c
··· 289 289 return -ENOMEM; 290 290 } 291 291 292 - info->irq = bind_virq_to_irq(VIRQ_CONSOLE, 0); 292 + info->irq = bind_virq_to_irq(VIRQ_CONSOLE, 0, false); 293 293 info->vtermno = HVC_COOKIE; 294 294 295 295 spin_lock(&xencons_lock);
+8 -4
drivers/xen/events/events_base.c
··· 957 957 } 958 958 EXPORT_SYMBOL_GPL(xen_evtchn_nr_channels); 959 959 960 - int bind_virq_to_irq(unsigned int virq, unsigned int cpu) 960 + int bind_virq_to_irq(unsigned int virq, unsigned int cpu, bool percpu) 961 961 { 962 962 struct evtchn_bind_virq bind_virq; 963 963 int evtchn, irq, ret; ··· 971 971 if (irq < 0) 972 972 goto out; 973 973 974 - irq_set_chip_and_handler_name(irq, &xen_percpu_chip, 975 - handle_percpu_irq, "virq"); 974 + if (percpu) 975 + irq_set_chip_and_handler_name(irq, &xen_percpu_chip, 976 + handle_percpu_irq, "virq"); 977 + else 978 + irq_set_chip_and_handler_name(irq, &xen_dynamic_chip, 979 + handle_edge_irq, "virq"); 976 980 977 981 bind_virq.virq = virq; 978 982 bind_virq.vcpu = cpu; ··· 1066 1062 { 1067 1063 int irq, retval; 1068 1064 1069 - irq = bind_virq_to_irq(virq, cpu); 1065 + irq = bind_virq_to_irq(virq, cpu, irqflags & IRQF_PERCPU); 1070 1066 if (irq < 0) 1071 1067 return irq; 1072 1068 retval = request_irq(irq, handler, irqflags, devname, dev_id);
+1 -1
include/xen/events.h
··· 17 17 irq_handler_t handler, 18 18 unsigned long irqflags, const char *devname, 19 19 void *dev_id); 20 - int bind_virq_to_irq(unsigned int virq, unsigned int cpu); 20 + int bind_virq_to_irq(unsigned int virq, unsigned int cpu, bool percpu); 21 21 int bind_virq_to_irqhandler(unsigned int virq, unsigned int cpu, 22 22 irq_handler_t handler, 23 23 unsigned long irqflags, const char *devname,