misc: mei: fix stalled read
This bug caused severe connectivity issue in the LMS application
(LMS is described in Documentation/misc-devices/mei/mei.txt)
The bug was introduced in patch:
commit 1ccb7b6249
staging/mei: propagate error codes up in the write flow
The patch has reverted the return value logic of some fo function but
the conditional in _mei_irq_thread_read function was not swapped
making read always entering the error path
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a44cab4aff
commit
1e69d64a28
|
@ -835,7 +835,7 @@ static int _mei_irq_thread_read(struct mei_device *dev, s32 *slots,
|
||||||
struct mei_cl *cl,
|
struct mei_cl *cl,
|
||||||
struct mei_io_list *cmpl_list)
|
struct mei_io_list *cmpl_list)
|
||||||
{
|
{
|
||||||
if ((*slots * sizeof(u32)) >= (sizeof(struct mei_msg_hdr) +
|
if ((*slots * sizeof(u32)) < (sizeof(struct mei_msg_hdr) +
|
||||||
sizeof(struct hbm_flow_control))) {
|
sizeof(struct hbm_flow_control))) {
|
||||||
/* return the cancel routine */
|
/* return the cancel routine */
|
||||||
list_del(&cb_pos->cb_list);
|
list_del(&cb_pos->cb_list);
|
||||||
|
|
Loading…
Reference in New Issue