The patch titled cs5535-clockevt: free timer in IRQ setup error path has been added to the -mm tree. Its filename is cs5535-clockevt-free-timer-in-irq-setup-error-path.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: cs5535-clockevt: free timer in IRQ setup error path From: Jens Rottmann <JRottmann@xxxxxxxxxxxxxxxxxx> Due to a hardware limitation cs5535_mfgpt_free_timer() cannot actually release the timer hardware, but it will at least free the now unreferenced struct associated with it so calling it is the cleaner thing to do. Signed-off-by: Jens Rottmann <JRottmann@xxxxxxxxxxxxxxxxxx> Cc: Andres Salomon <dilinger@xxxxxxxxxxxxxxx> Cc: Jordan Crouse <jordan.crouse@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: john stultz <johnstul@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/clocksource/cs5535-clockevt.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff -puN drivers/clocksource/cs5535-clockevt.c~cs5535-clockevt-free-timer-in-irq-setup-error-path drivers/clocksource/cs5535-clockevt.c --- a/drivers/clocksource/cs5535-clockevt.c~cs5535-clockevt-free-timer-in-irq-setup-error-path +++ a/drivers/clocksource/cs5535-clockevt.c @@ -154,14 +154,14 @@ static int __init cs5535_mfgpt_init(void if (cs5535_mfgpt_setup_irq(timer, MFGPT_CMP2, &timer_irq)) { printk(KERN_ERR DRV_NAME ": Could not set up IRQ %d\n", timer_irq); - return -EIO; + goto err_timer; } /* And register it with the kernel */ ret = setup_irq(timer_irq, &mfgptirq); if (ret) { printk(KERN_ERR DRV_NAME ": Unable to set up the interrupt.\n"); - goto err; + goto err_irq; } /* Set the clock scale and enable the event mode for CMP2 */ @@ -184,8 +184,10 @@ static int __init cs5535_mfgpt_init(void return 0; -err: +err_irq: cs5535_mfgpt_release_irq(cs5535_event_clock, MFGPT_CMP2, &timer_irq); +err_timer: + cs5535_mfgpt_free_timer(cs5535_event_clock); printk(KERN_ERR DRV_NAME ": Unable to set up the MFGPT clock source\n"); return -EIO; } _ Patches currently in -mm which might be from JRottmann@xxxxxxxxxxxxxxxxxx are origin.patch geode-mfgpt-restore-previous-behavior-for-selecting-irq.patch cs5535-clockevt-free-timer-in-irq-setup-error-path.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html