net driver fixes
PATCH 1/1 net driver fixes
Linus, please do a
bk pull bk://gkernel.bkbits.net/net-drivers-2.5
This will update the following files:
drivers/net/pci-skeleton.c | 7 --- drivers/net/pcnet32.c | 2 drivers/net/r8169.c | 4 - drivers/net/sis190.c | 4 - drivers/net/typhoon.c | 97 ++++++++++++++++++++++++++++++++++++--------- 5 files changed, 78 insertions(+), 36 deletions(-)
through these ChangeSets:
<[email protected]> (03/12/05 1.1499)
[netdrvr pcnet32] fix oops on unload
Driver was calling pci_unregister_driver for each _device_, and then again at the end of the module unload routine. Remove the call that's inside the loop, pci_unregister_driver should only be called once.
Caught by Don Fry (and many others)
<[email protected]> (03/12/03 1.1496.1.9)
[netdrvr] remove manual driver poisoning of net_device
Such poisoning can cause oopses either because the refcount is not zero when the poisoning occurs, or due to kernel debugging options being enabled.
<[email protected]> (03/11/26 1.1486.1.1)
Bug fixes:
* Avoid short timeouts when waiting for a reset
* Fix issue with loading runtime image on newer versions of the sleep image
* Fix link status reporting
drivers/net/pci-skeleton.c +0 -7
@@ -864,13 +864,6 @@pci_release_regions (pdev); -#ifndef NETDRV_NDEBUG -/* poison memory before freeing */ -memset (dev,0xBC , -sizeof (struct net_device ) + -sizeof (struct netdrv_private )); -#endif /* NETDRV_NDEBUG */ -free_netdev (dev);pci_set_drvdata (pdev,NULL );
drivers/net/pcnet32.c +0 -2
@@ -1766,8 +1766,6 @@ next_dev = lp->next;unregister_netdev (pcnet32_dev);release_region (pcnet32_dev->base_addr,PCNET32_TOTAL_SIZE ); -if (lp->pci_dev) -pci_unregister_driver (&pcnet32_driver);pci_free_consistent (lp->pci_dev,sizeof (*lp), lp, lp->dma_addr);free_netdev (pcnet32_dev); pcnet32_dev = next_dev;
drivers/net/r8169.c +0 -4
@@ -642,10 +642,6 @@iounmap (tp->mmio_addr);pci_release_regions (pdev); -// poison memory before freeing -memset (dev,0xBC , -sizeof (struct net_device ) +sizeof (struct rtl8169_private )); -pci_disable_device (pdev);free_netdev (dev);pci_set_drvdata (pdev,NULL );
drivers/net/sis190.c +0 -4
@@ -703,10 +703,6 @@iounmap (tp->mmio_addr);pci_release_regions (pdev); -// poison memory before freeing -memset (dev,0xBC , -sizeof (struct net_device ) +sizeof (struct sis190_private )); -free_netdev (dev);pci_set_drvdata (pdev,NULL ); }
drivers/net/typhoon.c +78 -19
178 lines not on this page · raw message
Quoted 4 lines · Jeff Garzik
Linus, please do a
bk pull bk://gkernel.bkbits.net/net-drivers-2.5
Quoted 8 lines
This will update the following files:
drivers/net/pci-skeleton.c | 7 --- drivers/net/pcnet32.c | 2 drivers/net/r8169.c | 4 - drivers/net/sis190.c | 4 - drivers/net/typhoon.c | 97 ++++++++++++++++++++++++++++++++++++--------- 5 files changed, 78 insertions(+), 36 deletions(-)
So following that email... you just wanna truncate this patch -- snip the typhoon portion and apply the rest?
This will update the following files:
drivers/net/pci-skeleton.c | 7 --- drivers/net/pcnet32.c | 2 drivers/net/r8169.c | 4 - drivers/net/sis190.c | 4 -
through these ChangeSets:
<[email protected]> (03/12/05 1.1499)
[netdrvr pcnet32] fix oops on unload
Driver was calling pci_unregister_driver for each _device_, and then again at the end of the module unload routine. Remove the call that's inside the loop, pci_unregister_driver should only be called once.
Caught by Don Fry (and many others)
<[email protected]> (03/12/03 1.1496.1.9)
[netdrvr] remove manual driver poisoning of net_device
Such poisoning can cause oopses either because the refcount is not zero when the poisoning occurs, or due to kernel debugging options being enabled.
drivers/net/pci-skeleton.c +0 -7
@@ -864,13 +864,6 @@pci_release_regions (pdev); -#ifndef NETDRV_NDEBUG -/* poison memory before freeing */ -memset (dev,0xBC , -sizeof (struct net_device ) + -sizeof (struct netdrv_private )); -#endif /* NETDRV_NDEBUG */ -free_netdev (dev);pci_set_drvdata (pdev,NULL );
drivers/net/pcnet32.c +0 -2
@@ -1766,8 +1766,6 @@ next_dev = lp->next;unregister_netdev (pcnet32_dev);release_region (pcnet32_dev->base_addr,PCNET32_TOTAL_SIZE ); -if (lp->pci_dev) -pci_unregister_driver (&pcnet32_driver);pci_free_consistent (lp->pci_dev,sizeof (*lp), lp, lp->dma_addr);free_netdev (pcnet32_dev); pcnet32_dev = next_dev;
drivers/net/r8169.c +0 -4
@@ -642,10 +642,6 @@iounmap (tp->mmio_addr);pci_release_regions (pdev); -// poison memory before freeing -memset (dev,0xBC , -sizeof (struct net_device ) +sizeof (struct rtl8169_private )); -pci_disable_device (pdev);free_netdev (dev);pci_set_drvdata (pdev,NULL );
drivers/net/sis190.c +0 -4
@@ -703,10 +703,6 @@iounmap (tp->mmio_addr);pci_release_regions (pdev); -// poison memory before freeing -memset (dev,0xBC , -sizeof (struct net_device ) +sizeof (struct sis190_private )); -free_netdev (dev);pci_set_drvdata (pdev,NULL ); }