Commit 4317f874 authored by Viresh Kumar's avatar Viresh Kumar Committed by Greg Kroah-Hartman

greybus: manifest: release cport descriptors to avoid 'excess descriptors' warning

If we fail to initialize a cport of a bundle, we abort the entire
bundle. But that leads to following (unnecessary) warnings as few of the
cport descriptors, belonging to the aborted bundle were never parsed:

"greybus: excess descriptors in interface manifest"

Fix that by releasing all cport descriptors for the aborted bundle.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 98d7fbca
......@@ -258,6 +258,19 @@ static u32 gb_manifest_parse_cports(struct gb_bundle *bundle)
GREYBUS_PROTOCOL_CONTROL);
exit:
/*
* Free all cports for this bundle to avoid 'excess descriptors'
* warnings.
*/
list_for_each_entry_safe(desc, next, &intf->manifest_descs, links) {
struct greybus_descriptor_cport *desc_cport = desc->data;
if (desc->type != GREYBUS_TYPE_CPORT)
continue;
if (desc_cport->bundle == bundle_id)
release_manifest_descriptor(desc);
}
return 0; /* Error; count should also be 0 */
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment