Searched hist:"6 ffddf3b3d182d886d754cfafdf909ccb14f464b" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/net/ipa/ |
H A D | gsi.c | diff 6ffddf3b3d182d886d754cfafdf909ccb14f464b Tue Dec 22 12:00:11 CST 2020 Alex Elder <elder@linaro.org> net: ipa: use state to determine channel command success
The result of issuing a channel control command should be that the channel changes state. If enabled, a completion interrupt signals that the channel state has changed. This interrupt is enabled by gsi_channel_command() and disabled again after the command has completed (or we time out).
There is a window of time--after the completion interrupt is disabled but before the channel state is read--during which the command could complete successfully without interrupting. This would cause the channel to transition to the desired new state.
So whether a channel command ends via completion interrupt or timeout, we can consider the command successful if the channel has entered the desired state (and a failure if it has not, regardless of the cause).
Fixes: d6c9e3f506ae8 ("net: ipa: only enable generic command completion IRQ when needed"); Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|