From: Tony Lindgren Date: Mon, 14 Jan 2008 20:53:30 +0000 (+0100) Subject: i2c-omap: Fix NULL pointer dereferencing X-Git-Tag: v2.6.24-rc8~12^2~3 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=3e39752d5367f9087e058abe768708165e1ec373;p=linux-2.6-omap-h63xx.git i2c-omap: Fix NULL pointer dereferencing 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 Signed-off-by: Jean Delvare --- diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index cb55cf2ba1e..f2552b19ea6 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -619,13 +619,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;