|
@@ -303,7 +303,28 @@ void mei_stop(struct mei_device *dev)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(mei_stop);
|
|
|
|
|
|
+/**
|
|
|
+ * mei_write_is_idle - check if the write queues are idle
|
|
|
+ *
|
|
|
+ * @dev: the device structure
|
|
|
+ *
|
|
|
+ * returns true of there is no pending write
|
|
|
+ */
|
|
|
+bool mei_write_is_idle(struct mei_device *dev)
|
|
|
+{
|
|
|
+ bool idle = (dev->dev_state == MEI_DEV_ENABLED &&
|
|
|
+ list_empty(&dev->ctrl_wr_list.list) &&
|
|
|
+ list_empty(&dev->write_list.list));
|
|
|
|
|
|
+ dev_dbg(&dev->pdev->dev, "write pg: is idle[%d] state=%s ctrl=%d write=%d\n",
|
|
|
+ idle,
|
|
|
+ mei_dev_state_str(dev->dev_state),
|
|
|
+ list_empty(&dev->ctrl_wr_list.list),
|
|
|
+ list_empty(&dev->write_list.list));
|
|
|
+
|
|
|
+ return idle;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL_GPL(mei_write_is_idle);
|
|
|
|
|
|
void mei_device_init(struct mei_device *dev)
|
|
|
{
|