diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2015-08-24 01:14:02 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-08-26 07:54:17 -0700 |
commit | cdeb2ba99cb333f7729cd5784ea2de00e265f22f (patch) | |
tree | ad28b2e0196af2592598c88f6908afd14992f230 /arch | |
parent | 1887ed3ad6509a4ce411b7981dd27515e0c44bb7 (diff) | |
download | u-boot-cdeb2ba99cb333f7729cd5784ea2de00e265f22f.zip u-boot-cdeb2ba99cb333f7729cd5784ea2de00e265f22f.tar.gz u-boot-cdeb2ba99cb333f7729cd5784ea2de00e265f22f.tar.bz2 |
dm: core: Fix code reentrancy issue in device_probe_child()
The device might have already been probed during the call to
device_probe() on its parent device (e.g. PCI bridge devices).
In its parent device's probe routine, it might probe all of
its child devices via device_probe() thus the codes reenter
device_probe_child(). To support code reentrancy, test these
allocated memory against NULL to avoid memory leak, and return
to the caller if dev->flags has DM_FLAG_ACTIVATED set after
device_probe() returns, so that we don't mess up the device.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions