[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