netifd: Accept notify errors in proto_shell teardown or abort state
authorHans Dedecker <dedeckeh@gmail.com>
Tue, 5 Aug 2014 08:22:27 +0000 (08:22 +0000)
committerSteven Barth <steven@midlink.org>
Tue, 5 Aug 2014 10:00:53 +0000 (12:00 +0200)
commita6f28311d3786cbd5307aee3239032f6db1503f3
tree1d8d292dc96e2fa841bd8c6f93cc9ab94400efe6
parente4aebda4d774d0b92f4c95c4490745aaedf4cd35
netifd: Accept notify errors in proto_shell teardown or abort state

In commit e1ec2d2b9e7f7692a4ff88a0361bbcdbe34f0d99 (proto-shell: extend race condition avoidance), changes were made to prevent notifications from the proto handler during teardown.
According to the comments, this was done to avoid the shell proto state being reset to S_IDLE and the interface hanging in IFS_TEARDOWN state.
These changes unfortunately also prevent netifd from being notified of the errors (proto_shell_notify_error) that actually caused the teardown.
This is for instance an issue when the protocol is ppp and e.g.  PAP/CHAP authentication fails.
Since proto_shell_notify_error does not touch the proto state, it seems like a good idea to at least allow these notifications in teardown state.
The attached patch accomplishes this.

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