um: Error handling fixes in vector drivers
authorAnton Ivanov <anton.ivanov@cambridgegreys.com>
Fri, 9 Aug 2019 07:40:20 +0000 (08:40 +0100)
committerRichard Weinberger <richard@nod.at>
Sun, 15 Sep 2019 19:37:09 +0000 (21:37 +0200)
commitd47761db97d35cd7fc194e4472b3a20a46f64dc7
tree6791c0f43eac53173b460e652453602ca7a44c23
parent5853193103e6e3be983cc86d61b204ed27a22716
um: Error handling fixes in vector drivers

With the addition of bess support which uses connection
oriented SEQPACKET sockets the vector routines can now
encounter a "remote end closed the connection" scenario.

This adds handling code to detect it in the TX path and
the legacy RX path. There is no way to detect it in the
vector RX path because that can legitimately return 0
even if the remote end has not closed the connection. As
a result the detection is delayed until the first TX
event after the close.

Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/drivers/vector_kern.c
arch/um/drivers/vector_kern.h
arch/um/drivers/vector_user.c