> 
> From: Alexander Usyskin <alexander.usys...@intel.com>
> 
> Client on bus have only one vtag map slot and should disregard the vtag
> value when cleaning pending read flag.
> Fixes read flow control message unexpectedly generated when clent on bus
> send messages with different vtags.
> 
> Signed-off-by: Alexander Usyskin <alexander.usys...@intel.com>
> Signed-off-by: Alan Previn <alan.previn.teres.ale...@intel.com>
Reviewed-by: Tomas Winkler <tomas.wink...@intel.com>
> ---
>  drivers/misc/mei/client.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c index
> 9ddb854b8155..5c19097266fe 100644
> --- a/drivers/misc/mei/client.c
> +++ b/drivers/misc/mei/client.c
> @@ -1343,7 +1343,9 @@ static void mei_cl_reset_read_by_vtag(const struct
> mei_cl *cl, u8 vtag)
>       struct mei_cl_vtag *vtag_l;
> 
>       list_for_each_entry(vtag_l, &cl->vtag_map, list) {
> -             if (vtag_l->vtag == vtag) {
> +             /* The client on bus has one fixed vtag map */
> +             if ((cl->cldev && mei_cldev_enabled(cl->cldev)) ||
> +                 vtag_l->vtag == vtag) {
>                       vtag_l->pending_read = false;
>                       break;
>               }
> --
> 2.39.0

Reply via email to