lkml.org 
[lkml]   [2003]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [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);
}
\
 
 \ /
  Last update: 2005-03-22 13:59    [W:0.030 / U:0.456 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site