Messages in this thread Patch in this message | | | Date | Fri, 05 Dec 2003 13:54:33 -0500 | From | Jeff Garzik <> | Subject | Re: [BK PATCHES] net driver fixes |
| |
Jeff Garzik wrote: > 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(-)
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:
<jgarzik@redhat.com> (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)
<viro@parcelfarce.linux.theplanet.co.uk> (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.
diff -Nru a/drivers/net/pci-skeleton.c b/drivers/net/pci-skeleton.c --- a/drivers/net/pci-skeleton.c Fri Dec 5 13:22:32 2003 +++ b/drivers/net/pci-skeleton.c Fri Dec 5 13:22:32 2003 @@ -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); diff -Nru a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c --- a/drivers/net/pcnet32.c Fri Dec 5 13:22:32 2003 +++ b/drivers/net/pcnet32.c Fri Dec 5 13:22:32 2003 @@ -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; diff -Nru a/drivers/net/r8169.c b/drivers/net/r8169.c --- a/drivers/net/r8169.c Fri Dec 5 13:22:32 2003 +++ b/drivers/net/r8169.c Fri Dec 5 13:22:32 2003 @@ -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); diff -Nru a/drivers/net/sis190.c b/drivers/net/sis190.c --- a/drivers/net/sis190.c Fri Dec 5 13:22:32 2003 +++ b/drivers/net/sis190.c Fri Dec 5 13:22:32 2003 @@ -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); } | |