platform_get_resource uses pdev so move the function platform_set_drvdata(pdev, NULL) after the get_resource. Signed-off-by: Shubhrajyoti D <shubhrajyoti@xxxxxx> --- untested drivers/i2c/busses/i2c-xiic.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c index 641d0e5..a28479a 100644 --- a/drivers/i2c/busses/i2c-xiic.c +++ b/drivers/i2c/busses/i2c-xiic.c @@ -784,8 +784,6 @@ static int __devexit xiic_i2c_remove(struct platform_device* pdev) xiic_deinit(i2c); - platform_set_drvdata(pdev, NULL); - free_irq(platform_get_irq(pdev, 0), i2c); iounmap(i2c->base); @@ -795,6 +793,7 @@ static int __devexit xiic_i2c_remove(struct platform_device* pdev) release_mem_region(res->start, resource_size(res)); kfree(i2c); + platform_set_drvdata(pdev, NULL); return 0; } -- 1.7.5.4 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html