]> git.baikalelectronics.ru Git - kernel.git/commit
device-core: Ensure drvdata = NULL when no driver is bound
authorHans de Goede <hdegoede@redhat.com>
Tue, 22 May 2012 22:09:34 +0000 (00:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Jun 2012 23:40:41 +0000 (16:40 -0700)
commitc3e213df083439e7397e789fd95ded71e7b3add3
treec9c6830877b9d39e0233cb29fcd577b947e22fb4
parent26006d76a6e76b8a5e3e540c71d2e57bd3bf2a92
device-core: Ensure drvdata = NULL when no driver is bound

1) drvdata is for a driver to store a pointer to driver specific data
2) If no driver is bound, there is no driver specific data associated with
   the device
3) Thus logically drvdata should be NULL if no driver is bound.

But many drivers don't clear drvdata on device_release, or set drvdata
early on in probe and leave it set on probe error. Both of which results
in a dangling pointer in drvdata.

This patch enforce for drvdata to be NULL after device_release or on probe
failure.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/dd.c