Skip to content

Commit

Permalink
staging/mei: fix failure for multiple mei clients connection
Browse files Browse the repository at this point in the history
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: Natalia Ovsyanikov <natalia.ovsyanikov@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Natalia Ovsyanikov authored and Greg Kroah-Hartman committed Dec 8, 2011
1 parent 3a5352f commit e8cd29d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/staging/mei/interrupt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit e8cd29d

Please sign in to comment.