Hi, This is just the beginning of patchset-set that aims to fix possible problems caused by not calling put_device() if device_register() fails.
The root cause for the need to call put_device() is that the underlying kobject still has a reference count of 1. Thus, device.release() will not be called and the device will just sit there waiting for a put_device(). Adding the put_device() also removes the need for the call to kfree() as most release functions already call kfree() on the container of the device. While these have not been experienced, they are potential issues and thus they need to be fixed. Also, they are a few more files that have the same kind of issue, those will be fixed if these are accepted. (Sorry for the noise, I messed up my SMTP server so it didn't reach LKML) The patchset consists of the following patches: net: phy: call put_device on device_register() failure eisa: call put_device if device_register fails backlight: lcd: call put_device if device_register fails w1: call put_device if device_register fails diffstat as follows: drivers/eisa/eisa-bus.c | 4 +++- drivers/net/phy/mdio_bus.c | 1 + drivers/video/backlight/lcd.c | 2 +- drivers/w1/w1_int.c | 5 ++--- 4 files changed, 7 insertions(+), 5 deletions(-) -- Regards, Levente Kurusa -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/