diff options
author | loos <loos@FreeBSD.org> | 2014-10-24 21:08:02 +0000 |
---|---|---|
committer | loos <loos@FreeBSD.org> | 2014-10-24 21:08:02 +0000 |
commit | c2bbf09479e32a9562ac2ba0c066b32ce7190760 (patch) | |
tree | 13c89263678d73b63efd23a58c13eadfaf33e2b7 /lib/libc/regex/engine.c | |
parent | cd1fe572f5a5baf2f67e8cdba840135fdb9d3060 (diff) | |
download | FreeBSD-src-c2bbf09479e32a9562ac2ba0c066b32ce7190760.zip FreeBSD-src-c2bbf09479e32a9562ac2ba0c066b32ce7190760.tar.gz |
Fix cpsw_detach() to not panic when called from cpsw_attach().
For an unkown reason (at moment), sometimes if_cpsw cannot read from PHY
and fails to attach calling cpsw_detach() which end up in a panic.
Fix it by doing the proper check before detach the miibus and also fix the
leak of few variables.
And to actually make it work, ether_ifattach() has to be moved to the end
of cpsw_attach() to avoid a race where calling ether_ifdetach() before
domain_init() (which will only run later on) would make it crash at
INP_INFO_RLOCK() on in_pcbpurgeif0().
Tested on: BBB (am335x)
MFC after: 1 week
Diffstat (limited to 'lib/libc/regex/engine.c')
0 files changed, 0 insertions, 0 deletions