mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
mei: do not overwrite state on hw start
During the hardware start sequence, do not overwrite the driver state and do not proceed with the initialization sequence if the state was changed while the driver was waiting for the start interrupt. This can happen if the driver's removal/stop procedure was triggered from the parent level while the driver is waiting for the start interrupt. This may lead to stray the reset work or the timer after driver were removed. Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20220215080438.264876-4-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
04af137c6a
commit
2be483f12e
@ -161,6 +161,11 @@ int mei_reset(struct mei_device *dev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (dev->dev_state != MEI_DEV_RESETTING) {
|
||||
dev_dbg(dev->dev, "wrong state = %d on link start\n", dev->dev_state);
|
||||
return 0;
|
||||
}
|
||||
|
||||
dev_dbg(dev->dev, "link is established start sending messages.\n");
|
||||
|
||||
mei_set_devstate(dev, MEI_DEV_INIT_CLIENTS);
|
||||
|
Loading…
Reference in New Issue
Block a user