when we buffer write request we should not switch to
MEI_WRITING since this will override MEI_WRITE_COMPLETE
state of preceding write

Signed-off-by: Tomas Winkler <tomas.wink...@intel.com>
---
 drivers/misc/mei/client.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c
index 788f647..11a465a 100644
--- a/drivers/misc/mei/client.c
+++ b/drivers/misc/mei/client.c
@@ -731,7 +731,9 @@ int mei_cl_irq_write_complete(struct mei_cl *cl, struct 
mei_cl_cb *cb,
        }
 
        cl->status = 0;
+       cl->writing_state = MEI_WRITING;
        cb->buf_idx += mei_hdr.length;
+
        if (mei_hdr.msg_complete) {
                if (mei_cl_flow_ctrl_reduce(cl))
                        return -ENODEV;
@@ -783,7 +785,6 @@ int mei_cl_write(struct mei_cl *cl, struct mei_cl_cb *cb, 
bool blocking)
                cb->buf_idx = 0;
                /* unseting complete will enqueue the cb for write */
                mei_hdr.msg_complete = 0;
-               cl->writing_state = MEI_WRITING;
                rets = buf->size;
                goto out;
        }
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to