Re: question about drivers/net/tg3.c
From: Matt Carlson <hidden>
Date: 2009-07-29 16:50:27
On Wed, Jul 29, 2009 at 09:39:43AM -0700, Matt Carlson wrote:
On Wed, Jul 29, 2009 at 08:49:35AM -0700, Julia Lawall wrote:quoted
The function tg3_reset_hw in the file drivers/net/tg3.c contains the code: /* If statement applies to 5705 and 5750 PCI devices only */ if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 && tp->pci_chip_rev_id != CHIPREV_ID_5705_A0) || GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) { if ((tp->tg3_flags & TG3_FLG2_TSO_CAPABLE) && (tp->pci_chip_rev_id == CHIPREV_ID_5705_A1 || tp->pci_chip_rev_id == CHIPREV_ID_5705_A2)) { /* nothing */ } else if (!(tr32(TG3PCI_PCISTATE) & PCISTATE_BUS_SPEED_HIGH) && !(tp->tg3_flags2 & TG3_FLG2_IS_5788) && !(tp->tg3_flags2 & TG3_FLG2_PCI_EXPRESS)) { val |= WDMAC_MODE_RX_ACCEL; } } On the fifth line above there is the code: tp->tg3_flags & TG3_FLG2_TSO_CAPABLE but the tg3_flags field seems to normally have a value whose name contains FLAG, and not FLG2. Should this code be: tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE or should the constant be different?On all the copies of tg3.c I have readily available, the line says : tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE Even the latest net-next tree is like this. Where did you get your source from?
Never mind that. I did a search for the "If statement applies..." string and didn't expect to have it match twice. You are right. The comparison should be against tp->tg3_flags2. I'll integrate that fix into a patchset I'm preparing as we speak.