mei: amthif: allow the read completion after close
authorTomas Winkler <tomas.winkler@intel.com>
Fri, 27 Jan 2017 14:32:44 +0000 (16:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Jan 2017 10:07:43 +0000 (11:07 +0100)
The amthif client connection is shared over multiple file descriptors.
In case a file descriptor was closed immediately after a write, the read
credits should be still available so the pending reads can be cleaned
from the queue, hence we cannot drop the control read list, this is
done only upon connection close.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/amthif.c

index 466afb2..2d553cd 100644 (file)
@@ -353,9 +353,9 @@ int mei_amthif_release(struct mei_device *dev, struct file *file)
                dev->iamthif_canceled = true;
        }
 
+       /* Don't clean ctrl_rd_list here, the reads has to be completed */
        mei_clear_list(file, &dev->amthif_cmd_list.list);
        mei_clear_list(file, &cl->rd_completed);
-       mei_clear_list(file, &dev->ctrl_rd_list.list);
 
        return 0;
 }