fix MCA when shutting down tulip quad-NIC
Subsystems (2)
PATCH 1/1 fix MCA when shutting down tulip quad-NIC
From: [email protected]
https://bugzilla.novell.com/show_bug.cgi?id=SUSE39204
Shutting down the network causes an MCA because of an IO TLB error when a DEC quad 10/100 card is in any slot. This problem was originally seen on an HP rx4640.
---
Andrew: Why is it tp->pdev instead of pdev?
drivers/net/tulip/tulip_core.c | 1 + 1 file changed, 1 insertion(+)
drivers/net/tulip/tulip_core.c +1 -0
@@ -1798,6 +1798,7 @@ static void __devexit tulip_remove_one (return ; tp =netdev_priv (dev); +pci_disable_device (tp->pdev);unregister_netdev (dev); pci_free_consistent (pdev, sizeof (struct tulip_rx_desc) * RX_RING_SIZE +
Quoted 3 lines · Olaf Hering
From: [email protected]
Wow, registering for Novell's bugzilla is painful. And in the end I get "Access denied" on that bug. Can you give us this information some other way?
Quoted 3 lines
Shutting down the network causes an MCA because of an IO TLB error when a DEC quad 10/100 card is in any slot. This problem was originally seen on an HP rx4640.
I'm not clear on why pci_disable_device() would fix this bug. Do you have an explanation (or can copy one out of the bug report)? I'm hesitant to make even obviously correct changes to the tulip driver without good evidence, given the incredible variety of buggy hardware out there.
This looks to me like another iteration of the shutdown DMA/irq race at first glance. Grant has a patch for it; I'm working on one I consider cleaner.
-VAL
Quoted 24 lines
Signed-off-by Olaf Hering <[email protected]>---
Andrew: Why is it
tp->pdevinstead of pdev?drivers/net/tulip/tulip_core.c | 1 + 1 file changed, 1 insertion(+)Index:
b/drivers/net/tulip/tulip_core.c
===================================================================drivers/net/tulip/tulip_core.c +1
-0@@ -1798,6 +1798,7 @@ static void __devexit tulip_remove_one (return ; tp =netdev_priv (dev); +pci_disable_device (tp->pdev);unregister_netdev (dev); pci_free_consistent (pdev, sizeof (struct tulip_rx_desc) * RX_RING_SIZE +
Quoted 8 lines · Valerie Henson
Quoted 3 lines · Olaf Hering
From: [email protected]
Wow, registering for Novell's bugzilla is painful. And in the end I get "Access denied" on that bug. Can you give us this information some other way?
I did not see an easy way to make the bug public other than moving it to the openSuSE category.
Quoted 9 lines
Quoted 3 lines
Shutting down the network causes an MCA because of an IO TLB error when a DEC quad 10/100 card is in any slot. This problem was originally seen on an HP rx4640.
I'm not clear on why
pci_disable_device()would fix this bug. Do you have an explanation (or can copy one out of the bug report)? I'm hesitant to make even obviously correct changes to the tulip driver without good evidence, given the incredible variety of buggy hardware out there.
The comments in the bug do not have an detailed analysis. One of the comments is:
...
Comment #1 From Andrew Patterson 2004-04-20 19:47:32 MST [reply]
1. ifdown the interfaces; then ifup them
2. do this in a loop from a script and it generally MCA's within 2 minutes.
...
The first version for 2.6.5 contained the pci_disable_device() and a version which was commited to mainline:
Later the patch contained just the pci_disable_device() call.
Andrew, does your testscript still fail in SLES10 or mainline?
Quoted 3 lines
This looks to me like another iteration of the shutdown DMA/irq race at first glance. Grant has a patch for it; I'm working on one I consider cleaner.
Thats likely the same issue.
http://www.linuxarkivet.se/mlists/linux-net/0409/msg00173.html