Message ID | 20230512231944.100501-1-kovalev@altlinux.org (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | e1000e: Fix bind network card with ID = 0x0D4F | expand |
On 5/13/2023 02:19, kovalev@altlinux.org wrote: > From: Vasiliy Kovalev <kovalev@altlinux.org> > > This solution fixes packet loss during download, allowing you > to get into the range of network cards of 639e298f432fb0 commit. > > Below is a summary of the hardware: > $ cat /sys/devices/cpu_core/caps/pmu_name > alderlake_hybrid I didn't hear about such combination. Something wrong here. > $ lspci -nn | grep 'Ethernet' > 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet > Connection (10) I219-V [8086:0d4f] (rev 01) > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=217436 From attached "dmesg" I realized you use new system with old BIOS (where is NVM of the 1Gbe adapter is very old or wrong). I would suggest contact vendor and update your BIOS. > Fixes: 914ee9c436cbe9 ("e1000e: Add support for Comet Lake") > Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org> > --- > drivers/net/ethernet/intel/e1000e/netdev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c > index db8e06157da29..8b13f19309c39 100644 > --- a/drivers/net/ethernet/intel/e1000e/netdev.c > +++ b/drivers/net/ethernet/intel/e1000e/netdev.c > @@ -7887,7 +7887,7 @@ static const struct pci_device_id e1000_pci_tbl[] = { > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9), board_pch_cnp }, > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9), board_pch_cnp }, > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10), board_pch_cnp }, > - { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_cnp }, > + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_adp }, This is wrong approach. (we can not process old board similar as new) > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11), board_pch_cnp }, > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11), board_pch_cnp }, > { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12), board_pch_spt }, Looking in commit 639e298f432fb0 (e1000e: Fix packet loss on Tiger Lake and later) I would suggest to replace the mac->type as follow: "if (mac->type >= e1000_pch_tgp)" with "if (mac->type >= e1000_pch_cnp)" (more correct) - try it on your side.
14.05.2023 09:00, Neftin, Sasha пишет: >> Fixes: 914ee9c436cbe9 ("e1000e: Add support for Comet Lake") >> Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org> >> --- >> drivers/net/ethernet/intel/e1000e/netdev.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c >> b/drivers/net/ethernet/intel/e1000e/netdev.c >> index db8e06157da29..8b13f19309c39 100644 >> --- a/drivers/net/ethernet/intel/e1000e/netdev.c >> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c >> @@ -7887,7 +7887,7 @@ static const struct pci_device_id >> e1000_pci_tbl[] = { >> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9), >> board_pch_cnp }, >> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9), >> board_pch_cnp }, >> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10), >> board_pch_cnp }, >> - { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), >> board_pch_cnp }, >> + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), >> board_pch_adp }, > This is wrong approach. (we can not process old board similar as new) >> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11), >> board_pch_cnp }, >> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11), >> board_pch_cnp }, >> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12), >> board_pch_spt }, > Looking in commit 639e298f432fb0 (e1000e: Fix packet loss on Tiger > Lake and later) I would suggest to replace the mac->type as follow: > "if (mac->type >= e1000_pch_tgp)" with "if (mac->type >= > e1000_pch_cnp)" (more correct) - try it on your side. I checked this variant first of all - the behavior is correct, network packets are not lost. Can I prepare a new patch or will this change be made by you?
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index db8e06157da29..8b13f19309c39 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -7887,7 +7887,7 @@ static const struct pci_device_id e1000_pci_tbl[] = { { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9), board_pch_cnp }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9), board_pch_cnp }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10), board_pch_cnp }, - { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_cnp }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_adp }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11), board_pch_cnp }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11), board_pch_cnp }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12), board_pch_spt },