From: "Michael Chan" > Kernel BUG at "drivers/net/tg3.c":2805 > invalid operand: 0000 [1] SMP David and I discussed about this and one possible theory is that your system is reordering the MMIOs to the device. We have seen this on some Athlon chipsets in the past and in fact the tg3 driver will flush all MMIO writes when that Athlon chipset is detected. Please set TG3_FLAG_MBOX_WRITE_REORDER flag in tg3_get_invariants() or use the patch below to see if the problem goes away, assuming the flag did not already get set on your system. Signed-off-by: Andrew Morton --- drivers/net/tg3.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN drivers/net/tg3.c~tg3-handle-mmio-reordering-for-all-devices drivers/net/tg3.c --- devel/drivers/net/tg3.c~tg3-handle-mmio-reordering-for-all-devices 2005-09-13 18:26:59.000000000 -0700 +++ devel-akpm/drivers/net/tg3.c 2005-09-13 18:26:59.000000000 -0700 @@ -9294,6 +9294,8 @@ static int __devinit tg3_get_invariants( if (pci_dev_present(write_reorder_chipsets)) tp->tg3_flags |= TG3_FLAG_MBOX_WRITE_REORDER; + tp->tg3_flags |= TG3_FLAG_MBOX_WRITE_REORDER; + /* Force memory write invalidate off. If we leave it on, * then on 5700_BX chips we have to enable a workaround. * The workaround is to set the TG3PCI_DMA_RW_CTRL boundary _