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 <marciobuss@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
1a1b285c24
commit
3e39752d53
|
@ -619,13 +619,13 @@ omap_i2c_probe(struct platform_device *pdev)
|
||||||
err_free_irq:
|
err_free_irq:
|
||||||
free_irq(dev->irq, dev);
|
free_irq(dev->irq, dev);
|
||||||
err_unuse_clocks:
|
err_unuse_clocks:
|
||||||
|
omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
|
||||||
omap_i2c_disable_clocks(dev);
|
omap_i2c_disable_clocks(dev);
|
||||||
omap_i2c_put_clocks(dev);
|
omap_i2c_put_clocks(dev);
|
||||||
err_free_mem:
|
err_free_mem:
|
||||||
platform_set_drvdata(pdev, NULL);
|
platform_set_drvdata(pdev, NULL);
|
||||||
kfree(dev);
|
kfree(dev);
|
||||||
err_release_region:
|
err_release_region:
|
||||||
omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
|
|
||||||
release_mem_region(mem->start, (mem->end - mem->start) + 1);
|
release_mem_region(mem->start, (mem->end - mem->start) + 1);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
|
Loading…
Reference in New Issue