public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
@ 2026-01-31  1:21 Ethan Nelson-Moore
  2026-02-03  2:20 ` Jakub Kicinski
  0 siblings, 1 reply; 8+ messages in thread
From: Ethan Nelson-Moore @ 2026-01-31  1:21 UTC (permalink / raw)
  To: netdev
  Cc: Ethan Nelson-Moore, Don Fry, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni

The VLB bus is very obsolete and last appeared on P5 Pentium-era
hardware. Support for it has been removed from other drivers, and it is
highly unlikely anyone is using it with modern Linux kernels. The VLB
auto-probing code also has the potential to affect other devices that
use the same I/O ports in unexpected ways. Remove support for VLB cards
from the driver. This allows the code managing device instances to be
simplified significantly.

Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
---
Changes in v2:
Rebase on latest net-next tree
Improve commit message
CC maintainers

 drivers/net/ethernet/amd/pcnet32.c | 144 ++++-------------------------
 1 file changed, 20 insertions(+), 124 deletions(-)

diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c
index 9eaefa0f5e80..7a63426af641 100644
--- a/drivers/net/ethernet/amd/pcnet32.c
+++ b/drivers/net/ethernet/amd/pcnet32.c
@@ -75,17 +75,8 @@ MODULE_DEVICE_TABLE(pci, pcnet32_pci_tbl);
 
 static int cards_found;
 
-/*
- * VLB I/O addresses
- */
-static unsigned int pcnet32_portlist[] =
-    { 0x300, 0x320, 0x340, 0x360, 0 };
-
 static int pcnet32_debug;
 static int tx_start = 1;	/* Mapping -- 0:20, 1:64, 2:128, 3:~220 (depends on chip vers) */
-static int pcnet32vlb;		/* check for VLB cards ? */
-
-static struct net_device *pcnet32_dev;
 
 static int max_interrupt_work = 2;
 static int rx_copybreak = 200;
@@ -285,13 +276,11 @@ struct pcnet32_private {
 	char			tx_full;
 	char			phycount;	/* number of phys found */
 	int			options;
-	unsigned int		shared_irq:1,	/* shared irq possible */
-				dxsuflo:1,   /* disable transmit stop on uflo */
+	unsigned int		dxsuflo:1,   /* disable transmit stop on uflo */
 				mii:1,		/* mii port available */
 				autoneg:1,	/* autoneg enabled */
 				port_tp:1,	/* port set to TP */
 				fdx:1;		/* full duplex enabled */
-	struct net_device	*next;
 	struct mii_if_info	mii_if;
 	struct timer_list	watchdog_timer;
 	u32			msg_enable;	/* debug message level */
@@ -305,7 +294,7 @@ struct pcnet32_private {
 };
 
 static int pcnet32_probe_pci(struct pci_dev *, const struct pci_device_id *);
-static int pcnet32_probe1(unsigned long, int, struct pci_dev *);
+static int pcnet32_probe1(unsigned long, struct pci_dev *);
 static int pcnet32_open(struct net_device *);
 static int pcnet32_init_ring(struct net_device *);
 static netdev_tx_t pcnet32_start_xmit(struct sk_buff *,
@@ -798,12 +787,8 @@ static void pcnet32_get_drvinfo(struct net_device *dev,
 	struct pcnet32_private *lp = netdev_priv(dev);
 
 	strscpy(info->driver, DRV_NAME, sizeof(info->driver));
-	if (lp->pci_dev)
-		strscpy(info->bus_info, pci_name(lp->pci_dev),
-			sizeof(info->bus_info));
-	else
-		snprintf(info->bus_info, sizeof(info->bus_info),
-			"VLB 0x%lx", dev->base_addr);
+	strscpy(info->bus_info, pci_name(lp->pci_dev),
+		sizeof(info->bus_info));
 }
 
 static u32 pcnet32_get_link(struct net_device *dev)
@@ -1506,28 +1491,6 @@ static const struct ethtool_ops pcnet32_ethtool_ops = {
 	.set_link_ksettings	= pcnet32_set_link_ksettings,
 };
 
-/* only probes for non-PCI devices, the rest are handled by
- * pci_register_driver via pcnet32_probe_pci */
-
-static void pcnet32_probe_vlbus(unsigned int *pcnet32_portlist)
-{
-	unsigned int *port, ioaddr;
-
-	/* search for PCnet32 VLB cards at known addresses */
-	for (port = pcnet32_portlist; (ioaddr = *port); port++) {
-		if (request_region
-		    (ioaddr, PCNET32_TOTAL_SIZE, "pcnet32_probe_vlbus")) {
-			/* check if there is really a pcnet chip on that ioaddr */
-			if ((inb(ioaddr + 14) == 0x57) &&
-			    (inb(ioaddr + 15) == 0x57)) {
-				pcnet32_probe1(ioaddr, 0, NULL);
-			} else {
-				release_region(ioaddr, PCNET32_TOTAL_SIZE);
-			}
-		}
-	}
-}
-
 static int
 pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
@@ -1564,7 +1527,7 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent)
 		goto err_disable_dev;
 	}
 
-	err = pcnet32_probe1(ioaddr, 1, pdev);
+	err = pcnet32_probe1(ioaddr, pdev);
 
 err_disable_dev:
 	if (err < 0)
@@ -1588,12 +1551,9 @@ static const struct net_device_ops pcnet32_netdev_ops = {
 #endif
 };
 
-/* pcnet32_probe1
- *  Called from both pcnet32_probe_vlbus and pcnet_probe_pci.
- *  pdev will be NULL when called from pcnet32_probe_vlbus.
- */
+/* Called from pcnet_probe_pci. */
 static int
-pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
+pcnet32_probe1(unsigned long ioaddr, struct pci_dev *pdev)
 {
 	struct pcnet32_private *lp;
 	int i, media;
@@ -1640,13 +1600,8 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
 
 	switch (chip_version) {
 	case 0x2420:
-		chipname = "PCnet/PCI 79C970";	/* PCI */
-		break;
-	case 0x2430:
-		if (shared)
-			chipname = "PCnet/PCI 79C970";	/* 970 gives the wrong chip id back */
-		else
-			chipname = "PCnet/32 79C965";	/* 486/VL bus */
+	case 0x2430: /* Some give the wrong chip id back */
+		chipname = "PCnet/PCI 79C970";
 		break;
 	case 0x2621:
 		chipname = "PCnet/PCI II 79C970A";	/* PCI */
@@ -1752,8 +1707,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
 		goto err_release_region;
 	}
 
-	if (pdev)
-		SET_NETDEV_DEV(dev, &pdev->dev);
+	SET_NETDEV_DEV(dev, &pdev->dev);
 
 	if (pcnet32_debug & NETIF_MSG_PROBE)
 		pr_info("%s at %#3lx,", chipname, ioaddr);
@@ -1856,7 +1810,6 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
 	spin_lock_init(&lp->lock);
 
 	lp->name = chipname;
-	lp->shared_irq = shared;
 	lp->tx_ring_size = TX_RING_SIZE;	/* default tx ring size */
 	lp->rx_ring_size = RX_RING_SIZE;	/* default rx ring size */
 	lp->tx_mod_mask = lp->tx_ring_size - 1;
@@ -1920,32 +1873,10 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
 	a->write_csr(ioaddr, 1, (lp->init_dma_addr & 0xffff));
 	a->write_csr(ioaddr, 2, (lp->init_dma_addr >> 16));
 
-	if (pdev) {		/* use the IRQ provided by PCI */
-		dev->irq = pdev->irq;
-		if (pcnet32_debug & NETIF_MSG_PROBE)
-			pr_cont(" assigned IRQ %d\n", dev->irq);
-	} else {
-		unsigned long irq_mask = probe_irq_on();
-
-		/*
-		 * To auto-IRQ we enable the initialization-done and DMA error
-		 * interrupts. For ISA boards we get a DMA error, but VLB and PCI
-		 * boards will work.
-		 */
-		/* Trigger an initialization just for the interrupt. */
-		a->write_csr(ioaddr, CSR0, CSR0_INTEN | CSR0_INIT);
-		mdelay(1);
-
-		dev->irq = probe_irq_off(irq_mask);
-		if (!dev->irq) {
-			if (pcnet32_debug & NETIF_MSG_PROBE)
-				pr_cont(", failed to detect IRQ line\n");
-			ret = -ENODEV;
-			goto err_free_ring;
-		}
-		if (pcnet32_debug & NETIF_MSG_PROBE)
-			pr_cont(", probed IRQ %d\n", dev->irq);
-	}
+	/* use the IRQ provided by PCI */
+	dev->irq = pdev->irq;
+	if (pcnet32_debug & NETIF_MSG_PROBE)
+		pr_cont(" assigned IRQ %d\n", dev->irq);
 
 	/* Set the mii phy_id so that we can query the link state */
 	if (lp->mii) {
@@ -1987,12 +1918,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
 	if (register_netdev(dev))
 		goto err_free_ring;
 
-	if (pdev) {
-		pci_set_drvdata(pdev, dev);
-	} else {
-		lp->next = pcnet32_dev;
-		pcnet32_dev = dev;
-	}
+	pci_set_drvdata(pdev, dev);
 
 	if (pcnet32_debug & NETIF_MSG_PROBE)
 		pr_info("%s: registered as %s\n", dev->name, lp->name);
@@ -2100,8 +2026,7 @@ static int pcnet32_open(struct net_device *dev)
 	unsigned long flags;
 
 	if (request_irq(dev->irq, pcnet32_interrupt,
-			lp->shared_irq ? IRQF_SHARED : 0, dev->name,
-			(void *)dev)) {
+			IRQF_SHARED, dev->name, (void *)dev)) {
 		return -EAGAIN;
 	}
 
@@ -2157,7 +2082,7 @@ static int pcnet32_open(struct net_device *dev)
 	lp->a->write_csr(ioaddr, 124, val);
 
 	/* Allied Telesyn AT 2700/2701 FX are 100Mbit only and do not negotiate */
-	if (pdev && pdev->subsystem_vendor == PCI_VENDOR_ID_AT &&
+	if (pdev->subsystem_vendor == PCI_VENDOR_ID_AT &&
 	    (pdev->subsystem_device == PCI_SUBDEVICE_ID_AT_2700FX ||
 	     pdev->subsystem_device == PCI_SUBDEVICE_ID_AT_2701FX)) {
 		if (lp->options & PCNET32_PORT_ASEL) {
@@ -2970,10 +2895,9 @@ static struct pci_driver pcnet32_driver = {
 	},
 };
 
-/* An additional parameter that may be passed in... */
+/* Additional parameters that may be passed in... */
 static int debug = -1;
 static int tx_start_pt = -1;
-static int pcnet32_have_pci;
 
 module_param(debug, int, 0);
 MODULE_PARM_DESC(debug, DRV_NAME " debug level");
@@ -2985,8 +2909,6 @@ MODULE_PARM_DESC(rx_copybreak,
 		 DRV_NAME " copy breakpoint for copy-only-tiny-frames");
 module_param(tx_start_pt, int, 0);
 MODULE_PARM_DESC(tx_start_pt, DRV_NAME " transmit start point (0-3)");
-module_param(pcnet32vlb, int, 0);
-MODULE_PARM_DESC(pcnet32vlb, DRV_NAME " Vesa local bus (VLB) support (0/1)");
 module_param_array(options, int, NULL, 0);
 MODULE_PARM_DESC(options, DRV_NAME " initial option setting(s) (0-15)");
 module_param_array(full_duplex, int, NULL, 0);
@@ -3010,38 +2932,12 @@ static int __init pcnet32_init_module(void)
 	if ((tx_start_pt >= 0) && (tx_start_pt <= 3))
 		tx_start = tx_start_pt;
 
-	/* find the PCI devices */
-	if (!pci_register_driver(&pcnet32_driver))
-		pcnet32_have_pci = 1;
-
-	/* should we find any remaining VLbus devices ? */
-	if (pcnet32vlb)
-		pcnet32_probe_vlbus(pcnet32_portlist);
-
-	if (cards_found && (pcnet32_debug & NETIF_MSG_PROBE))
-		pr_info("%d cards_found\n", cards_found);
-
-	return (pcnet32_have_pci + cards_found) ? 0 : -ENODEV;
+	return pci_register_driver(&pcnet32_driver);
 }
 
 static void __exit pcnet32_cleanup_module(void)
 {
-	struct net_device *next_dev;
-
-	while (pcnet32_dev) {
-		struct pcnet32_private *lp = netdev_priv(pcnet32_dev);
-		next_dev = lp->next;
-		unregister_netdev(pcnet32_dev);
-		pcnet32_free_ring(pcnet32_dev);
-		release_region(pcnet32_dev->base_addr, PCNET32_TOTAL_SIZE);
-		dma_free_coherent(&lp->pci_dev->dev, sizeof(*lp->init_block),
-				  lp->init_block, lp->init_dma_addr);
-		free_netdev(pcnet32_dev);
-		pcnet32_dev = next_dev;
-	}
-
-	if (pcnet32_have_pci)
-		pci_unregister_driver(&pcnet32_driver);
+	pci_unregister_driver(&pcnet32_driver);
 }
 
 module_init(pcnet32_init_module);
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
  2026-01-31  1:21 [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support Ethan Nelson-Moore
@ 2026-02-03  2:20 ` Jakub Kicinski
  2026-02-03  5:32   ` Ethan Nelson-Moore
  0 siblings, 1 reply; 8+ messages in thread
From: Jakub Kicinski @ 2026-02-03  2:20 UTC (permalink / raw)
  To: Ethan Nelson-Moore
  Cc: netdev, Don Fry, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni

On Fri, 30 Jan 2026 17:21:19 -0800 Ethan Nelson-Moore wrote:
> The VLB bus is very obsolete and last appeared on P5 Pentium-era
> hardware. Support for it has been removed from other drivers, and it is
> highly unlikely anyone is using it with modern Linux kernels. The VLB
> auto-probing code also has the potential to affect other devices that
> use the same I/O ports in unexpected ways. Remove support for VLB cards
> from the driver. This allows the code managing device instances to be
> simplified significantly.

Unless the maintainers acks this I think we should just wait until 
we can delete this driver completely. Unless this unblocks removal
of some VLB-related APIs (which I wasn't able to spot..)
-- 

pw-bot: reject

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
  2026-02-03  2:20 ` Jakub Kicinski
@ 2026-02-03  5:32   ` Ethan Nelson-Moore
  2026-02-03 22:57     ` Jakub Kicinski
  0 siblings, 1 reply; 8+ messages in thread
From: Ethan Nelson-Moore @ 2026-02-03  5:32 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: netdev, Don Fry, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni

On Mon, Feb 2, 2026 at 6:20 PM Jakub Kicinski <kuba@kernel.org> wrote:
> On Fri, 30 Jan 2026 17:21:19 -0800 Ethan Nelson-Moore wrote:
> Unless the maintainers acks this I think we should just wait until
> we can delete this driver completely. Unless this unblocks removal
> of some VLB-related APIs (which I wasn't able to spot..)

I don't think that's going to happen anytime soon, given what people
have said about its uses.

FYI, as of 6.19-rc8, the driver works with KVM's emulated device
(Advanced Micro Devices, Inc. [AMD] 79C97x [PCnet32 LANCE] [1022:2000]
(rev 10)), well enough that web browsing works fine and it can
download at several MB per second (multiple large files at once). It
has random short stalls (of a half second or less), but that could be
due to QEMU emulation issues.

Ethan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
  2026-02-03  5:32   ` Ethan Nelson-Moore
@ 2026-02-03 22:57     ` Jakub Kicinski
  2026-02-04  3:06       ` Ethan Nelson-Moore
  0 siblings, 1 reply; 8+ messages in thread
From: Jakub Kicinski @ 2026-02-03 22:57 UTC (permalink / raw)
  To: Ethan Nelson-Moore
  Cc: netdev, Don Fry, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni

On Mon, 2 Feb 2026 21:32:13 -0800 Ethan Nelson-Moore wrote:
> On Mon, Feb 2, 2026 at 6:20 PM Jakub Kicinski <kuba@kernel.org> wrote:
> > On Fri, 30 Jan 2026 17:21:19 -0800 Ethan Nelson-Moore wrote:
> > Unless the maintainers acks this I think we should just wait until
> > we can delete this driver completely. Unless this unblocks removal
> > of some VLB-related APIs (which I wasn't able to spot..)  
> 
> I don't think that's going to happen anytime soon, given what people
> have said about its uses.
> 
> FYI, as of 6.19-rc8, the driver works with KVM's emulated device
> (Advanced Micro Devices, Inc. [AMD] 79C97x [PCnet32 LANCE] [1022:2000]
> (rev 10)), well enough that web browsing works fine and it can
> download at several MB per second (multiple large files at once). It
> has random short stalls (of a half second or less), but that could be
> due to QEMU emulation issues.

IMHO we should probably start deleting the "QEMU emulation uses this"
toys, too. virtio existed for long enough. 

But let's wait for 7.x with that, we deleted a bunch of drivers in 
the past few weeks. Let's see how many of those we need to revert
and whether any lessons need to be applied to next removals :)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
  2026-02-03 22:57     ` Jakub Kicinski
@ 2026-02-04  3:06       ` Ethan Nelson-Moore
  2026-02-05  0:21         ` Maciej W. Rozycki
  0 siblings, 1 reply; 8+ messages in thread
From: Ethan Nelson-Moore @ 2026-02-04  3:06 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: netdev, Don Fry, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni

Hi, Jakub,

On Tue, Feb 3, 2026 at 2:57 PM Jakub Kicinski <kuba@kernel.org> wrote:
> IMHO we should probably start deleting the "QEMU emulation uses this"
> toys, too. virtio existed for long enough.
I wasn't saying we should keep it *because* QEMU emulates it, but
rather that it shows the driver is not totally broken and is likely
also working on real hardware.

> But let's wait for 7.x with that, we deleted a bunch of drivers in
> the past few weeks. Let's see how many of those we need to revert
> and whether any lessons need to be applied to next removals :)
That makes sense. I am looking into whether a lot of old drivers are
known to work/are conceivably still useful.

Ethan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
  2026-02-04  3:06       ` Ethan Nelson-Moore
@ 2026-02-05  0:21         ` Maciej W. Rozycki
  2026-02-05  0:44           ` OnesuchDev
  0 siblings, 1 reply; 8+ messages in thread
From: Maciej W. Rozycki @ 2026-02-05  0:21 UTC (permalink / raw)
  To: Ethan Nelson-Moore
  Cc: Thomas Bogendoerfer, Jakub Kicinski, netdev, Don Fry, Andrew Lunn,
	David S. Miller, Eric Dumazet, Paolo Abeni

On Tue, 3 Feb 2026, Ethan Nelson-Moore wrote:

> > IMHO we should probably start deleting the "QEMU emulation uses this"
> > toys, too. virtio existed for long enough.
> I wasn't saying we should keep it *because* QEMU emulates it, but
> rather that it shows the driver is not totally broken and is likely
> also working on real hardware.

 It's not "likely also working on real hardware," it does work as noted in 
the previous iteration by Thomas (cc'd again), who wrote the driver, and 
myself.  Most recently verified by myself 10 minutes ago with:

# uname -a
Linux [...] 6.18.0-rc1-dirty #70 Thu Nov 27 04:14:19 GMT 2025 mips unknown unknown GNU/Linux
# lspci -s 00:0b.0 -knn
00:0b.0 Ethernet controller [0200]: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] [1022:2000] (rev 43)
	Kernel driver in use: pcnet32
# head -4 < /proc/cpuinfo
system type		: MIPS Malta
machine			: mti,malta
processor		: 0
cpu model		: MIPS 74Kc V4.12  FPU V0.0
# 

It's the netboot device for this platform, it has to work.

 Please stop spreading FUD then.

  Maciej

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
  2026-02-05  0:21         ` Maciej W. Rozycki
@ 2026-02-05  0:44           ` OnesuchDev
  2026-02-05 23:35             ` Maciej W. Rozycki
  0 siblings, 1 reply; 8+ messages in thread
From: OnesuchDev @ 2026-02-05  0:44 UTC (permalink / raw)
  To: macro
  Cc: andrew+netdev, davem, edumazet, enelsonmoore, kuba, netdev,
	pabeni, pcnet32, tsbogend

Hi, Maciej,

It was not my intention to spread FUD - I had simply forgotten the previous conversation when I sent this follow-up.
As can be seen from my previous message where I said "I don't think [removing pcnet32] going to happen anytime soon, given what people have said about its uses", I agree with your reasons for wanting to keep the driver, and I'm glad to hear it works on recent kernels on real hardware.

Do you have any issues with short stalls under high network load, like I do in QEMU?

Ethan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support
  2026-02-05  0:44           ` OnesuchDev
@ 2026-02-05 23:35             ` Maciej W. Rozycki
  0 siblings, 0 replies; 8+ messages in thread
From: Maciej W. Rozycki @ 2026-02-05 23:35 UTC (permalink / raw)
  To: OnesuchDev
  Cc: andrew+netdev, David S. Miller, edumazet, kuba, netdev, pabeni,
	pcnet32, Thomas Bogendoerfer

On Wed, 4 Feb 2026, OnesuchDev wrote:

> It was not my intention to spread FUD - I had simply forgotten the 
> previous conversation when I sent this follow-up.

 I did think it was unintentional, but then someone unfamiliar with the 
situation could get misled.  Please be more careful in the future.  I tend 
to be forgetful of things too and address that by double-checking stuff.

> Do you have any issues with short stalls under high network load, like I 
> do in QEMU?

 Hard to say authoritatively.  I can't recall any issues, but then I have 
not stressed the interface recently and the load here would be different, 
as my main use for the platform is remote GNU toolchain verification for 
the MIPS target, over SSH and NFS both at a time for control and data 
respectively.  This does put a high load on the network link, especially 
as the attribute cache has to be disabled as well.

 I tend to run that over FDDI nowadays though, both to separate traffic 
and to keep the FDDI stack verified as well across platforms, of which I 
have many.  I have no GNU toolchain verification scheduled for the MIPS 
target in the near future, but can try to remember to run it over Ethernet 
instead next time.

 I would suspect QEMU though, having had used pcnet32 for 20+ years now 
and having seen all kinds of odd issues with QEMU too (and fixed some as 
well).  It's a simulator after all, and then not a very accurate one in 
terms of timings.

  Maciej

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-02-05 23:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-31  1:21 [PATCH net-next v2] net: ethernet: pcnet32: remove VLB support Ethan Nelson-Moore
2026-02-03  2:20 ` Jakub Kicinski
2026-02-03  5:32   ` Ethan Nelson-Moore
2026-02-03 22:57     ` Jakub Kicinski
2026-02-04  3:06       ` Ethan Nelson-Moore
2026-02-05  0:21         ` Maciej W. Rozycki
2026-02-05  0:44           ` OnesuchDev
2026-02-05 23:35             ` Maciej W. Rozycki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox