From: Tony Lindgren Date: Sun, 16 Dec 2007 18:17:01 +0000 (-0800) Subject: Fix bug #9581: Dereferencing NULL pointer for omap I2C X-Git-Tag: v2.6.24-omap1~98 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=bcebb6e7fbeb63d61cce760d8599294f712d2ced;p=linux-2.6-omap-h63xx.git Fix bug #9581: Dereferencing NULL pointer for omap I2C This patch fixes bug #9581 reported by Marcio Buss. If kzalloc fails, omap_i2c_write_reg() tries to reset an unallocated I2C controller. Cc: Marcio Buss Signed-off-by: Tony Lindgren --- diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index b3a48a8a908..d7958b8354b 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -788,13 +788,13 @@ omap_i2c_probe(struct platform_device *pdev) err_free_irq: free_irq(dev->irq, dev); err_unuse_clocks: + omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0); omap_i2c_disable_clocks(dev); omap_i2c_put_clocks(dev); err_free_mem: platform_set_drvdata(pdev, NULL); kfree(dev); err_release_region: - omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0); release_mem_region(mem->start, (mem->end - mem->start) + 1); return r;