summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXie He <xie.he.0141@gmail.com>2021-03-18 12:07:47 -0700
committerDavid S. Miller <davem@davemloft.net>2021-03-18 19:13:42 -0700
commit536e1004d273cf55d0e6c6ab6bfe74dc60464cd2 (patch)
tree770a70611b45ad55b96a2628bd700eeffd9949df
parent0f9651bb3ade97de3576b982513296c8783ad8bc (diff)
net: lapbether: Close the LAPB device before its underlying Ethernet device closes
When a virtual LAPB device's underlying Ethernet device closes, the LAPB device is also closed. However, currently the LAPB device is closed after the Ethernet device closes. It would be better to close it before the Ethernet device closes. This would allow the LAPB device to transmit a last frame to notify the other side that it is disconnecting. Signed-off-by: Xie He <xie.he.0141@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/wan/lapbether.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
index 8fda0446ff71..45d74285265a 100644
--- a/drivers/net/wan/lapbether.c
+++ b/drivers/net/wan/lapbether.c
@@ -421,8 +421,8 @@ static int lapbeth_device_event(struct notifier_block *this,
if (lapbeth_get_x25_dev(dev) == NULL)
lapbeth_new_device(dev);
break;
- case NETDEV_DOWN:
- /* ethernet device closed -> close LAPB interface */
+ case NETDEV_GOING_DOWN:
+ /* ethernet device closes -> close LAPB interface */
lapbeth = lapbeth_get_x25_dev(dev);
if (lapbeth)
dev_close(lapbeth->axdev);