lkml.org 
[lkml]   [2021]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH 02/10] firmware: arm_scmi: Add missing xfer reinit_completion
    On Mon, Jun 07, 2021 at 07:04:34PM +0100, Cristian Marussi wrote:
    > Hi,
    >
    > On Mon, Jun 07, 2021 at 06:42:57PM +0100, Sudeep Holla wrote:
    > > On Sun, Jun 06, 2021 at 11:12:24PM +0100, Cristian Marussi wrote:
    > > > Reusing timed out xfers in a loop can lead to issue if completion was not
    > > > properly reinitialized.
    > > >
    > > > Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
    > > > ---
    > > > drivers/firmware/arm_scmi/driver.c | 1 +
    > > > 1 file changed, 1 insertion(+)
    > > >
    > > > diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c
    > > > index bee33f9c2032..759ae4a23e74 100644
    > > > --- a/drivers/firmware/arm_scmi/driver.c
    > > > +++ b/drivers/firmware/arm_scmi/driver.c
    > > > @@ -448,6 +448,7 @@ static int do_xfer(const struct scmi_protocol_handle *ph,
    > > > xfer->hdr.poll_completion);
    > > >
    > > > xfer->hdr.status = SCMI_SUCCESS;
    > > > + reinit_completion(&xfer->done);
    > > >
    > >
    > > What could happen after xfer_get_init->scmi_xfer_get->reinit_completion
    > > that it needs to be re-initialised again. I don't see any reason for this ?
    > > If there are, please state them explicitly. If this is needed, I would drop
    > > the one in scmi_xfer_get().
    > >
    >
    > The reason, like I explained in the other reply in hdr.status, is the
    > possibility of do_xfer loops and being more defensive.
    >

    Understood.

    > I agree that if what I blabbed in the other email is acceptable, I could
    > drop the reinit_completion in xfer_get() and just use it before
    > send_message().
    >

    I wonder if it is possible to reset only on error if possible and not
    expensive of-course ?

    --
    Regards,
    Sudeep

    \
     
     \ /
      Last update: 2021-06-07 20:31    [W:3.546 / U:2.948 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site