diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-08-12 21:35:31 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-08-12 21:35:31 +0200 |
commit | 55bf3d639938722d3da2464110cb188e87591d52 (patch) | |
tree | 5fb0e761aea8c91d726e67929ab22259977c3cf7 /sys/src/9/port/devenv.c | |
parent | 53619de42806e50a6f7488973048f17df11b80c9 (diff) |
ip: fix missed unlocks and waserror handlers
ipifcunbind() could error out from ipifcremlifc() and Medium.unbind()
*after* decrementing ifc->conv->inuse! move the decrement after
calling these functions.
make ipifcremlifc() never raise error but return error string.
the only places where it could error is when it calls into
medium functions like Medium.remroute() and Medium.remmulti().
Ignore these errors as they could happen when the ethernet driver
crashed (think imported ethernet device or usb ethernet
in userspace), so we will be able to unbind.
add waserror() handlers as neccesary to deal with errors from
Medium.addmulti(), Medium.areg() and arpenter() to properly
unlock the data structures.
Diffstat (limited to 'sys/src/9/port/devenv.c')
0 files changed, 0 insertions, 0 deletions