提交 5bfec46b 编写于 作者: L Linus Torvalds

Merge branch 'timers-fixes-for-linus' of...

Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  cs5535-clockevt: Free timer in IRQ setup error path
...@@ -154,14 +154,14 @@ static int __init cs5535_mfgpt_init(void) ...@@ -154,14 +154,14 @@ static int __init cs5535_mfgpt_init(void)
if (cs5535_mfgpt_setup_irq(timer, MFGPT_CMP2, &timer_irq)) { if (cs5535_mfgpt_setup_irq(timer, MFGPT_CMP2, &timer_irq)) {
printk(KERN_ERR DRV_NAME ": Could not set up IRQ %d\n", printk(KERN_ERR DRV_NAME ": Could not set up IRQ %d\n",
timer_irq); timer_irq);
return -EIO; goto err_timer;
} }
/* And register it with the kernel */ /* And register it with the kernel */
ret = setup_irq(timer_irq, &mfgptirq); ret = setup_irq(timer_irq, &mfgptirq);
if (ret) { if (ret) {
printk(KERN_ERR DRV_NAME ": Unable to set up the interrupt.\n"); 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 */ /* Set the clock scale and enable the event mode for CMP2 */
...@@ -184,8 +184,10 @@ static int __init cs5535_mfgpt_init(void) ...@@ -184,8 +184,10 @@ static int __init cs5535_mfgpt_init(void)
return 0; return 0;
err: err_irq:
cs5535_mfgpt_release_irq(cs5535_event_clock, MFGPT_CMP2, &timer_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"); printk(KERN_ERR DRV_NAME ": Unable to set up the MFGPT clock source\n");
return -EIO; return -EIO;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册