summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexander Usyskin <alexander.usyskin@intel.com>2021-02-08 16:06:48 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-02-09 09:30:28 +0100
commitb398d53cd421454d64850f8b1f6d609ede9042d9 (patch)
treefb8925510b66b2a9d7c362033af14e03c53cdb89 /drivers
parentmei: bus: change remove callback to return void (diff)
downloadlinux-b398d53cd421454d64850f8b1f6d609ede9042d9.tar.xz
linux-b398d53cd421454d64850f8b1f6d609ede9042d9.zip
mei: bus: block send with vtag on non-conformat FW
Block data send with vtag if either transport layer or FW client are not supporting vtags. Cc: <stable@vger.kernel.org> # v5.10+ Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Link: https://lore.kernel.org/r/20210208150649.141358-1-tomas.winkler@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/misc/mei/bus.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c
index 580074e32599..935acc6bbf3c 100644
--- a/drivers/misc/mei/bus.c
+++ b/drivers/misc/mei/bus.c
@@ -61,6 +61,13 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length, u8 vtag,
goto out;
}
+ if (vtag) {
+ /* Check if vtag is supported by client */
+ rets = mei_cl_vt_support_check(cl);
+ if (rets)
+ goto out;
+ }
+
if (length > mei_cl_mtu(cl)) {
rets = -EFBIG;
goto out;