On Fri, Oct 30, 2009 at 09:50:34PM +0200, Atte Peltom?ki wrote: > Hi, > > Link state change interrupt was not generated due to a missing bit in > the MAC event register. This fixes at least carp and ifstated for 5709 > chip (eg. in Dell R610).
i have verified this on the 5709. i dont have a box with older versions of bnx in it to test on them though. have you been able to try this on a 2950 or r200? > Note that Broadcom Linux driver also sets STATUS_ATTN_BITS_TIMER_ABORT > on the same go which I is detection for a hung pci bus. Code for this > interrupt is missing in the bnx_phy_intr() handler, so I left it out > for now. If you have any ideas how to test it, I can try porting the > handler code. > > > --- sys/dev/pci/if_bnx.c Fri Oct 30 21:04:04 2009 > +++ sys/dev/pci/if_bnx.c Fri Oct 30 21:05:56 2009 > @@ -3461,6 +3461,7 @@ > > /* Set up link change interrupt generation. */ > REG_WR(sc, BNX_EMAC_ATTENTION_ENA, BNX_EMAC_ATTENTION_ENA_LINK); > + REG_WR(sc, BNX_HC_ATTN_BITS_ENABLE, STATUS_ATTN_BITS_LINK_STATE); > > /* Program the physical address of the status block. */ > REG_WR(sc, BNX_HC_STATUS_ADDR_L, (u_int32_t)(sc->status_block_paddr)); > > -- > Atte Peltomdki > atte.peltom...@iki.fi <> http://kameli.org > "Your effort to remain what you are is what limits you"