We use a lot of intel gigabit card and since the first time we use it we experience some strange hard lock of the system (4.9|FreeBSD-stable). We have tried several driver version (it is not related to a version). We use the card in polling mode but it seems that the problem can be fired even in interrupt mode.
What i found during the debugging on a fiber card:
1) original driver did not lock but when the other end is rebooted i've around 10 linkup/linkdown
2) removing linkup/linkdown printf: driver lock each time the other end system is rebooted!
3) removing the E1000_IMC_RXSEQ in disable_intr correct the lock but i
do not understand why:
a) E1000_IMC_RXSEQ need to be left when disabling intr?
b) the system completly lock (even under debugger) for just an
interrupt source enabled?static void
em_disable_intr(struct adapter *adapter)
{
E1000_WRITE_REG(&adapter->hw, IMC,
(0xffffffff));/* & ~E1000_IMC_RXSEQ));*/
return;
}What do you think of that ?
fabien
smime.p7s
Description: S/MIME Cryptographic Signature
