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 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fix from Thomas Gleixner:
"A single fix for a imbalanced kobject operation in the irq decriptor
code which was unearthed by the new warnings in the kobject code"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
genirq: Properly pair kobject_del() with kobject_add()

+14 -1
+14 -1
kernel/irq/irqdesc.c
··· 295 295 } 296 296 } 297 297 298 + static void irq_sysfs_del(struct irq_desc *desc) 299 + { 300 + /* 301 + * If irq_sysfs_init() has not yet been invoked (early boot), then 302 + * irq_kobj_base is NULL and the descriptor was never added. 303 + * kobject_del() complains about a object with no parent, so make 304 + * it conditional. 305 + */ 306 + if (irq_kobj_base) 307 + kobject_del(&desc->kobj); 308 + } 309 + 298 310 static int __init irq_sysfs_init(void) 299 311 { 300 312 struct irq_desc *desc; ··· 337 325 }; 338 326 339 327 static void irq_sysfs_add(int irq, struct irq_desc *desc) {} 328 + static void irq_sysfs_del(struct irq_desc *desc) {} 340 329 341 330 #endif /* CONFIG_SYSFS */ 342 331 ··· 451 438 * The sysfs entry must be serialized against a concurrent 452 439 * irq_sysfs_init() as well. 453 440 */ 454 - kobject_del(&desc->kobj); 441 + irq_sysfs_del(desc); 455 442 delete_irq_desc(irq); 456 443 457 444 /*