mei: amthif: don't copy from an empty buffer
authorAlexander Usyskin <alexander.usyskin@intel.com>
Sun, 7 Feb 2016 21:35:21 +0000 (23:35 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Feb 2016 22:47:20 +0000 (14:47 -0800)
If empty message come from FW (buf_idx == 0) then the current code will
still try to copy data from not filled buffer to the user-space,
instead the code should behave the same as when end of a message
has been reached, clean resources and return 0

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

index b753df98b4763922fbefaf377db60b55c4ce3291..c3f514027c80e3ac2bcff69fe8e80711b316cb85 100644 (file)
@@ -185,7 +185,7 @@ int mei_amthif_read(struct mei_device *dev, struct file *file,
        /* if the whole message will fit remove it from the list */
        if (cb->buf_idx >= *offset && length >= (cb->buf_idx - *offset))
                list_del_init(&cb->list);
-       else if (cb->buf_idx > 0 && cb->buf_idx <= *offset) {
+       else if (cb->buf_idx <= *offset) {
                /* end of the message has been reached */
                list_del_init(&cb->list);
                rets = 0;