Commit e8cd29d8 authored by Natalia Ovsyanikov's avatar Natalia Ovsyanikov Committed by Greg Kroah-Hartman

staging/mei: fix failure for multiple mei clients connection

The irq handler processes queued mei clients connect requests, which were
not transferred to the device in ioctl context due to unavailability
of the write buffer.

The handler may transfer the connection request only if there is
no other ongoing  requests for the same mei id.
This condition was implemented inversely which depending on
the write buffer availability lead to seemingly random
failures during connection attempts.

Cc: Oren Weil <oren.jer.weil@intel.com>
Signed-off-by: default avatarNatalia Ovsyanikov <natalia.ovsyanikov@intel.com>
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 3a5352fc
......@@ -1328,7 +1328,7 @@ static int mei_irq_thread_write_handler(struct mei_io_list *cmpl_list,
break;
case MEI_IOCTL:
/* connect message */
if (!mei_other_client_is_connecting(dev, cl))
if (mei_other_client_is_connecting(dev, cl))
continue;
ret = _mei_irq_thread_ioctl(dev, slots, pos, cl, cmpl_list);
if (ret)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment