On Thu, Sep 06, 2012 at 10:38:41PM -0400, Huang Shijie wrote:OK.We call the get_device() in the mxs_auart_probe().So the error path of probe needs function fixing too, right?
For the balance of the reference count, we should put the
device in the mxs_auart_remove().
Signed-off-by: Huang Shijie<shijie8@xxxxxxxxx>
---
drivers/tty/serial/mxs-auart.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c
index ea5f888..6898413 100644
--- a/drivers/tty/serial/mxs-auart.c
+++ b/drivers/tty/serial/mxs-auart.c
@@ -796,6 +796,7 @@ static int __devexit mxs_auart_remove(struct platform_device *pdev)
auart_port[pdev->id] = NULL;
+ put_device(s->dev);
clk_put(s->clk);
free_irq(s->irq, s);
kfree(s);