mei: amthif: discard not read messages
When a message is received and amthif client is not in reading state the message is ignored and left dangling in the queue. This may happen after one of the amthif host connections is closed w/o completing the reading. Another client will pick up a wrong message on next read attempt which will lead to link reset. To prevent this the driver has to properly discard the message when amthif client is not in reading state. Cc: <stable@vger.kernel.org> #4.2+ 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>
Este cometimento está contido em:

cometido por
Greg Kroah-Hartman

ascendente
6a8d648c8d
cometimento
9d04ee11db
@@ -380,8 +380,10 @@ int mei_amthif_irq_read_msg(struct mei_cl *cl,
|
||||
|
||||
dev = cl->dev;
|
||||
|
||||
if (dev->iamthif_state != MEI_IAMTHIF_READING)
|
||||
if (dev->iamthif_state != MEI_IAMTHIF_READING) {
|
||||
mei_irq_discard_msg(dev, mei_hdr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
ret = mei_cl_irq_read_msg(cl, mei_hdr, cmpl_list);
|
||||
if (ret)
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador