diff options
| author | 2019-08-19 12:54:35 +0530 | |
|---|---|---|
| committer | 2019-08-28 13:04:58 +0300 | |
| commit | e36721b90144bb46e1b6477be3ab63439c7fb79b (patch) | |
| tree | 7c74576f1fa9f709ac70b2813f546146181399fe /drivers/usb/cdns3/cdns3-pci-wrap.c | |
| parent | usb: dwc3: don't set gadget->is_otg flag (diff) | |
| download | linux-dev-e36721b90144bb46e1b6477be3ab63439c7fb79b.tar.xz linux-dev-e36721b90144bb46e1b6477be3ab63439c7fb79b.zip | |
usb: dwc3: st: Add of_node_put() before return in probe function
The local variable child in the function st_dwc3_probe takes the return
value of of_get_child_by_name, which gets a node and does not put it. If
the function returns without releasing child, this could cause a memory
error. Hence put child as soon as there is no more use for it. Also
create a new label, err_node_put, just before label undo_softreset; so
that err_node_put puts child. In between initialisation of child and its
first put, modify all statements that go to undo_softreset to now go to
err_node_put instead, from where they can fall through to
undo_softreset.
Issue found with Coccinelle.
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-pci-wrap.c')
0 files changed, 0 insertions, 0 deletions
