[OpenWrt-Devel] [PATCH/netifd] interface: fix "if-down" hotplug event handling
Hans Dedecker
dedeckeh at gmail.com
Thu Apr 11 09:16:48 EDT 2019
Hi,
On Thu, Apr 11, 2019 at 3:02 PM Martin Schiller <ms at dev.tdt.de> wrote:
>
> commit a97297d83e42 ("interface: set interface in TEARDOWN state when checking link state")
> broke the if-down hotplug event handling, as the iface->state is now IFS_TEARDOWN when
> calling the mark_interface_down() function from the IFPEV_DOWN event.
>
> Fixes: a97297d83e42 ("interface: set interface in TEARDOWN state when checking link state")
> Signed-off-by: Martin Schiller <ms at dev.tdt.de>
> ---
> interface.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/interface.c b/interface.c
> index fd7a826..7c25839 100644
> --- a/interface.c
> +++ b/interface.c
> @@ -268,7 +268,7 @@ mark_interface_down(struct interface *iface)
> iface->link_up_event = false;
> iface->state = IFS_DOWN;
> switch (state) {
> - case IFS_UP:
> + case IFS_TEARDOWN:
I don't think it's safe to remove the IFS_UP state as
mark_interface_down can be called when the interface is either in the
IFS_UP or IFS_TEARDOWN state
Hans
> interface_event(iface, IFEV_DOWN);
> break;
> case IFS_SETUP:
> --
> 2.11.0
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list