> On Jun 21, 2017, at 9:14 PM, Uma Krishnan <ukrishn@xxxxxxxxxxxxxxxxxx> wrote: > > Per the SISLite specification, context_reset() writes 0x1 to the LSB of the > reset register. When the AFU processes this reset request, it is expected > to clear the bit after reset is complete. The current implementation simply > checks that the entire value read back is not 1, instead of masking off the > LSB and evaluating it for a change to 0. Should the AFU manipulate other > bits during the reset (reading back a value of 0xF for example), successful > completion will be prematurely indicated given the existing logic. > > Additionally, in the event that the context reset operation fails, there > does not currently exist a way to provide feedback to the initiator of the > reset. This poses a problem for the rare case that a context reset fails as > the caller will proceed on the assumption that all is well. > > To remedy these issues, refactor the context reset routine to only mask off > the LSB when evaluating for success and return status to the caller. Also > update the context reset handler parameters to pass a hardware queue > reference instead of a single command to better reflect that the entire > queue associated with the context is impacted by the reset. > > Signed-off-by: Uma Krishnan <ukrishn@xxxxxxxxxxxxxxxxxx> Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx>