]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c: Do not use device name after device_unregister
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Thu, 1 Apr 2010 22:55:45 +0000 (15:55 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 1 Apr 2010 22:55:45 +0000 (15:55 -0700)
commit c556752109794a5ff199b80a1673336b4df8433a upstream.

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@holoscopio.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/i2c/i2c-core.c

index 529d82ce5a4c51607bac74f6de49af3bd3ef9af9..b67c32c3fa13708d99730b8d748fa3e4d50a87f6 100644 (file)
@@ -752,6 +752,9 @@ int i2c_del_adapter(struct i2c_adapter *adap)
           checking the returned value. */
        res = device_for_each_child(&adap->dev, NULL, __unregister_client);
 
+       /* 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);
@@ -764,8 +767,6 @@ int i2c_del_adapter(struct i2c_adapter *adap)
        idr_remove(&i2c_adapter_idr, adap->nr);
        mutex_unlock(&core_lock);
 
-       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));