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 branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, hpet: Fix bogus error check in hpet_assign_irq()
x86, irq: Plug memory leak in sparse irq
x86, cpu: After uncapping CPUID, re-run CPU feature detection

+12 -5
+8 -3
arch/x86/kernel/apic/io_apic.c
··· 306 306 307 307 old_cfg = old_desc->chip_data; 308 308 309 - memcpy(cfg, old_cfg, sizeof(struct irq_cfg)); 309 + cfg->vector = old_cfg->vector; 310 + cfg->move_in_progress = old_cfg->move_in_progress; 311 + cpumask_copy(cfg->domain, old_cfg->domain); 312 + cpumask_copy(cfg->old_domain, old_cfg->old_domain); 310 313 311 314 init_copy_irq_2_pin(old_cfg, cfg, node); 312 315 } 313 316 314 - static void free_irq_cfg(struct irq_cfg *old_cfg) 317 + static void free_irq_cfg(struct irq_cfg *cfg) 315 318 { 316 - kfree(old_cfg); 319 + free_cpumask_var(cfg->domain); 320 + free_cpumask_var(cfg->old_domain); 321 + kfree(cfg); 317 322 } 318 323 319 324 void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc)
+1 -1
arch/x86/kernel/cpu/common.c
··· 545 545 } 546 546 } 547 547 548 - static void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c) 548 + void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c) 549 549 { 550 550 u32 tfms, xlvl; 551 551 u32 ebx;
+1
arch/x86/kernel/cpu/cpu.h
··· 33 33 *const __x86_cpu_dev_end[]; 34 34 35 35 extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c); 36 + extern void get_cpu_cap(struct cpuinfo_x86 *c); 36 37 37 38 #endif
+1
arch/x86/kernel/cpu/intel.c
··· 39 39 misc_enable &= ~MSR_IA32_MISC_ENABLE_LIMIT_CPUID; 40 40 wrmsrl(MSR_IA32_MISC_ENABLE, misc_enable); 41 41 c->cpuid_level = cpuid_eax(0); 42 + get_cpu_cap(c); 42 43 } 43 44 } 44 45
+1 -1
arch/x86/kernel/hpet.c
··· 506 506 { 507 507 unsigned int irq; 508 508 509 - irq = create_irq(); 509 + irq = create_irq_nr(0, -1); 510 510 if (!irq) 511 511 return -EINVAL; 512 512