drivers/net/wan/x25_asy: Fix to make it work
authorXie He <xie.he.0141@gmail.com>
Thu, 16 Jul 2020 23:44:33 +0000 (16:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Jul 2020 01:28:36 +0000 (18:28 -0700)
commit8fdcabeac39824fe67480fd9508d80161c541854
tree70ee5b706aa52bc774299581af302d2dac8459b5
parentb346c0c85892cb8c53e8715734f71ba5bbec3387
drivers/net/wan/x25_asy: Fix to make it work

This driver is not working because of problems of its receiving code.
This patch fixes it to make it work.

When the driver receives an LAPB frame, it should first pass the frame
to the LAPB module to process. After processing, the LAPB module passes
the data (the packet) back to the driver, the driver should then add a
one-byte pseudo header and pass the data to upper layers.

The changes to the "x25_asy_bump" function and the
"x25_asy_data_indication" function are to correctly implement this
procedure.

Also, the "x25_asy_unesc" function ignores any frame that is shorter
than 3 bytes. However the shortest frames are 2-byte long. So we need
to change it to allow 2-byte frames to pass.

Cc: Eric Dumazet <edumazet@google.com>
Cc: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Reviewed-by: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wan/x25_asy.c