On Fri, Jun 09, 2023 at 04:01:47AM -0700, Selvin Xavier wrote: > From: Kashyap Desai <kashyap.desai@xxxxxxxxxxxx> > > If calling context detect command timeout, associated memory stored on > stack will not be valid. If firmware complete the same command later, > this causes incorrect memory access by driver. > > Added is_waiter_alive to handle delayed completion by firmware. > is_waiter_alive is set and reset under command queue lock. > > Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxx> > Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx> > --- > drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 59 +++++++++++++++++------------- > drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 1 + > 2 files changed, 34 insertions(+), 26 deletions(-) <...> > /* Non zero means command completed */ This comment is not valid anymore. > - ret = wait_event_timeout(cmdq->waitq, > - !test_bit(cbit, cmdq->cmdq_bitmap), > - msecs_to_jiffies(10000)); > + wait_event_timeout(cmdq->waitq, > + !test_bit(cbit, cmdq->cmdq_bitmap), > + msecs_to_jiffies(10000)); Thanks