Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mei: add also write waiting list to runtime pm blockers

The io callback is clear from write_waitling_list after
we receive interrupt from the hw to ack the write completion.
We need to wait for this interrupt deliver before we try
to enter low power state

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Tomas Winkler and committed by
Greg Kroah-Hartman
41c95b04 a1809d38

+5 -3
+5 -3
drivers/misc/mei/init.c
··· 361 361 { 362 362 bool idle = (dev->dev_state == MEI_DEV_ENABLED && 363 363 list_empty(&dev->ctrl_wr_list.list) && 364 - list_empty(&dev->write_list.list)); 364 + list_empty(&dev->write_list.list) && 365 + list_empty(&dev->write_waiting_list.list)); 365 366 366 - dev_dbg(dev->dev, "write pg: is idle[%d] state=%s ctrl=%d write=%d\n", 367 + dev_dbg(dev->dev, "write pg: is idle[%d] state=%s ctrl=%01d write=%01d wwait=%01d\n", 367 368 idle, 368 369 mei_dev_state_str(dev->dev_state), 369 370 list_empty(&dev->ctrl_wr_list.list), 370 - list_empty(&dev->write_list.list)); 371 + list_empty(&dev->write_list.list), 372 + list_empty(&dev->write_waiting_list.list)); 371 373 372 374 return idle; 373 375 }