diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2013-06-23 02:37:00 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-06-24 19:32:30 -0400 |
commit | 4dfaa9f7020b1ff4bf87899f4797d2efd76e80fd (patch) | |
tree | a6db3402c8dcf1604e7522b27431e8b026af1e16 /drivers/misc/mei | |
parent | 21767546e955c3c1705387ca4548db812382fe08 (diff) |
mei: do not override a client writing state when buffering
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.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei')
-rw-r--r-- | drivers/misc/mei/client.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c index 788f6478b4ab..11a465a25896 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, | |||
731 | } | 731 | } |
732 | 732 | ||
733 | cl->status = 0; | 733 | cl->status = 0; |
734 | cl->writing_state = MEI_WRITING; | ||
734 | cb->buf_idx += mei_hdr.length; | 735 | cb->buf_idx += mei_hdr.length; |
736 | |||
735 | if (mei_hdr.msg_complete) { | 737 | if (mei_hdr.msg_complete) { |
736 | if (mei_cl_flow_ctrl_reduce(cl)) | 738 | if (mei_cl_flow_ctrl_reduce(cl)) |
737 | return -ENODEV; | 739 | return -ENODEV; |
@@ -783,7 +785,6 @@ int mei_cl_write(struct mei_cl *cl, struct mei_cl_cb *cb, bool blocking) | |||
783 | cb->buf_idx = 0; | 785 | cb->buf_idx = 0; |
784 | /* unseting complete will enqueue the cb for write */ | 786 | /* unseting complete will enqueue the cb for write */ |
785 | mei_hdr.msg_complete = 0; | 787 | mei_hdr.msg_complete = 0; |
786 | cl->writing_state = MEI_WRITING; | ||
787 | rets = buf->size; | 788 | rets = buf->size; |
788 | goto out; | 789 | goto out; |
789 | } | 790 | } |