Quoting Douglas Anderson (2020-06-18 08:06:26) > The variable "cur_mcmd" kept track of our current state (idle, xfer, > cs, cancel). We don't really need it, so get rid of it. Instead: > * Use separate condition variables for "chip select done", "cancel > done", and "abort done". This is important so that if a "done" > comes through (perhaps some previous interrupt finally came through) > it can't confuse the cancel/abort function. > * Use the "done" interrupt only for when a chip select or transfer is > done and we can tell the difference by looking at whether "cur_xfer" > is NULL. > > This is mostly a no-op change. However, it is possible it could fix > an issue where a super delayed interrupt for a cancel command could > have confused our waiting for an abort command. > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > --- Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>