GIT: unionfs2-2.6.27.y: i2c: Do not use device name after device_unregister

Erez Zadok ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:15:10 EDT 2010


commit 582ab0e1e4004672a389a10e2d1ed27edaff119e
Author: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
Date:   Sun Jan 17 19:05:58 2010 +0100

    i2c: Do not use device name after device_unregister
    
    In Linus' tree:
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c556752109794a5ff199b80a1673336b4df8433a
    
    dev_dbg outputs dev_name, which is released with device_unregister. This bug
    resulted in output like this:
    
    i2c Xy2�0: adapter [SMBus I801 adapter at 1880] unregistered
    
    The right output would be:
    i2c i2c-0: adapter [SMBus I801 adapter at 1880] unregistered
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
    Signed-off-by: Jean Delvare <khali at linux-fr.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index a10d0d2..3d3fb00 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -644,6 +644,9 @@ int i2c_del_adapter(struct i2c_adapter *adap)
 		}
 	}
 
+	/* device name is gone after device_unregister */
+	dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name);
+
 	/* clean up the sysfs representation */
 	init_completion(&adap->dev_released);
 	device_unregister(&adap->dev);
@@ -654,8 +657,6 @@ int i2c_del_adapter(struct i2c_adapter *adap)
 	/* free bus id */
 	idr_remove(&i2c_adapter_idr, adap->nr);
 
-	dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name);
-
 	/* Clear the device structure in case this adapter is ever going to be
 	   added again */
 	memset(&adap->dev, 0, sizeof(adap->dev));


More information about the unionfs-cvs mailing list