Am 26.02.2018 um 19:56 schrieb David Miller: > From: Heiner Kallweit <hkallwe...@gmail.com> > Date: Sat, 24 Feb 2018 16:53:23 +0100 > >> @@ -736,8 +736,7 @@ struct ring_info { >> }; >> >> enum features { >> - RTL_FEATURE_MSI = (1 << 0), >> - RTL_FEATURE_GMII = (1 << 1), >> + RTL_FEATURE_GMII = (1 << 0), >> }; >> >> struct rtl8169_counters { > ... >> + if (tp->mac_version <= RTL_GIGA_MAC_VER_06) { > > Please, if you are going to keep the logic the same for the older > chips, just keep the RTL_FEATURE_MSI flag around instead of adding > new (and potentially regression causing) tests for this condition. > I see your point. In the case here the condition is meant to be true for chip versions: - having the MSIEnable bit - being PCI, not PCIe
Both is true for chip versions <= 06 only, as can be seen in different places in the driver, e.g. - where bit MSIEnable is defined comment says: /* 8169 only. Reserved in the 8168. */ - array rtl_chip_infos[] definition shows that only versions <= 06 are named RTL8169xx and are marked as PCI Last but not least condition "chip version <= 06" is used also in other places in the driver when it's about the RTL8169xx PCI chips. At least I'm convinced this gives enough confidence that we can get rid of flag RTL_FEATURE_MSI. > Thank you. >