netifd: More fine grained handling of unwanted proto shell actions
authorHans Dedecker <dedeckeh@gmail.com>
Thu, 7 Aug 2014 08:44:31 +0000 (08:44 +0000)
committerSteven Barth <steven@midlink.org>
Thu, 7 Aug 2014 10:05:07 +0000 (12:05 +0200)
commit99cfef35370b274352934c2f85a9de83ac537036
treeb219e1964a58ee7fce10092ed8598257a9d06c5f
parent77a865b5b3ac476e05ff80f3c10d86686285c0da
netifd: More fine grained handling of unwanted proto shell actions

In commit e1ec2d2b9e7f7692a4ff88a0361bbcdbe34f0d99 (proto-shell: extend race condition avoidance), changes were made to prevent notifications from the proto handler during the proto shell states teardown and abort.
These changes unfortunately also prevent netifd from being notified of a number of proto handler events like notify_error, blok_restart and kill during the teardown state.
This introduces issues when the protocol is ppp, the authfail UCI parameter is set and authentication fails; the interface autostart parameter cannot be set to disabled while the ppp daemon keeps running as these proto handler notifications are dropped in the teardown state.
The attached patch blocks the notifications in the individual notification handlers which should not get notifications during teardown/abort state and allows notify_error/blok_restart/kill notifications during these states.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
proto-shell.c