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 466afb2611c6592b05e98c1c1a0abe1eb1088cea..2d553cd6d4d0ee0363a7d834dfb51006895632a6 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;
 }