On Wed, Mar 10, 2021 at 06:17:36AM -0800, Lv Yunlong wrote: > In gb_operation_response_send, get an extra reference > before gb_message_send() with this comment "/* Reference will > be dropped when message has been sent. */". Therefore, we > should drop the got reference not only in the error branch, > but also in the complete branch. > > Signed-off-by: Lv Yunlong <lyl2019@xxxxxxxxxxxxxxxx> > --- > drivers/greybus/operation.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/greybus/operation.c b/drivers/greybus/operation.c > index 8459e9bc0749..500b3fe53a04 100644 > --- a/drivers/greybus/operation.c > +++ b/drivers/greybus/operation.c > @@ -855,6 +855,10 @@ static int gb_operation_response_send(struct gb_operation *operation, > if (ret) > goto err_put_active; > > + /*Drop reference after message send completes. */ > + gb_operation_put_active(operation); > + gb_operation_put(operation); No, this is broken. The reference is dropped in greybus_message_sent(). Johan _______________________________________________ greybus-dev mailing list greybus-dev@xxxxxxxxxxxxxxxx https://lists.linaro.org/mailman/listinfo/greybus-dev