[moved to clearview-discuss]
Dan Groves wrote:
> There was a problem bfu-ing the SPARC EA test systems. I had to bfu
> them manually. During the bfu script, I received the following panic on
> alexander.
...
>
> panic[cpu1]/thread=2a100ca1ca0: assertion failed: err == 0, file:
> ../../common/io/softmac/softmac_main.c, line: 645
>
> 000002a100ca0fc0 genunix:assfail+78 (7b23f170, 7b23f0b8, 285, 1852400,
> 131dc00, 0)
> %l0-3: 0000000000000000 0000000000000000 0000000000000003
> 0000000000000000
> %l4-7: 0000000000000008 0000000000000000 00000000018a1c00
> 0000000000000000
> 000002a100ca1070 softmac:softmac_destroy+8c (7b23f000, b, 70177c00,
> 7b23f000, b, 7b23f000)
> %l0-3: 0000000000000069 0000000070177c00 0000000000000000
> 000000007b23f000
> %l4-7: 0000000000000000 00000300052c01b8 00000000012a3d00
> 0000000070177c00
One immediate question that comes to mind is: since alexander has a bge
interface (GLDv3), why is softmac_destroy() being called at all?
It looks like there is a "bge0" in the softmac hash table, which doesn't
seem right:
[1]> *softmac_hash::walk modent | ::modent -v | ::print softmac_head_t
{
sh_softmac = [ 0x600104b1d40, 0x600104b1b88 ]
sh_devname = [ "bge0" ]
sh_dip = 0x300052ae628
sh_flags = 0
sh_cnt = 0x2
sh_attached_cnt = 0x2
sh_lock = {
_opaque = [ 0 ]
}
sh_cv = {
_opaque = 0
}
}
I'm a bit confused by this. I was under the impression that softmac_hash
only kept track of softmac MAC's, i.e., the legacy MACs that the softmac
module is responsible for registering and unregistering. That doesn't
appear to be the case here. On another test system, I see the same
thing; bge0 appears in the softmac hash table. Either I'm
misunderstanding the design, or things are appearing in the softmac hash
table that shouldn't be there.
I'm still investigating this...
-Seb