IP100A: Solve host error problem in low performance embedded system when continune down and up. 2006-08-24
Subsystems (2)
PATCH 4/4 IP100A: Solve host error problem in low performance embedded system when continune down and up. 2006-08-24
From: Jesse Huang <[email protected]>
Change Logs:
- Solve host error problem in low performance embedded system when continune down and up.
---
drivers/net/sundance.c | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-)
b7c2fba3fb7179d18c8b1c4af316c8a14d8ec1b8
drivers/net/sundance.c +24 -4
@@ -1076,7 +1076,7 @@ reset_tx (struct net_device *dev)struct sk_buff *skb;int i;int irq =in_interrupt (); - +/* Reset tx logic, TxListPtr will be cleaned */ iowrite16 (TxDisable, ioaddr + MACCtrl1); iowrite16 (TxReset | DMAReset | FIFOReset | NetworkReset,
@@ -1647,6 +1647,14 @@ static int netdev_close(struct net_devicstruct sk_buff *skb;int i; +/* Wait and kill tasklet */ +tasklet_kill (&np->rx_tasklet); +tasklet_kill (&np->tx_tasklet); + np->cur_tx =0 ; + np->dirty_tx =0 ; + np->cur_task =0 ; + np->last_tx =0 ; +netif_stop_queue (dev);if (netif_msg_ifdown (np)) {
@@ -1667,9 +1675,20 @@ static int netdev_close(struct net_devic/* Stop the chip's Tx and Rx processes. */ iowrite16 (TxDisable | RxDisable | StatsDisable, ioaddr + MACCtrl1); -/* Wait and kill tasklet */ -tasklet_kill (&np->rx_tasklet); -tasklet_kill (&np->tx_tasklet); +for (i =2000 ; i >0 ; i--) { +if ((ioread32 (ioaddr + DMACtrl) &0xC000 ) ==0 ) +break ; +mdelay (1 ); + } + +iowrite16 (GlobalReset | DMAReset | FIFOReset | NetworkReset, ioaddr +ASICCtrl +2 ); + +for (i =2000 ; i >0 ; i--) + { +if ((ioread16 (ioaddr + ASICCtrl +2 ) &ResetBusy) ==0 ) +break ; +mdelay (1 ); + }#ifdef __i386__if (netif_msg_hw (np)) {
@@ -1707,6 +1726,7 @@ #endif /* __i386__ debugging only */ } }for (i =0 ; i <TX_RING_SIZE ; i++) { + np->tx_ring[i].next_desc =0 ; skb = np->tx_skbuff[i];if (skb) { pci_unmap_single(np->pci_dev,
Signature · 1 line
1.3.GIT
What is current sundance.c status?
Dear Jeff:
Would you tell me what is current sundance.c status which support IP100A? Are those patches update to current tree or not? Is there anything should I need to add to it and generate new patches?
Thank you very much.
Best Regards,
Jesse Huang
Re: What is current sundance.c status?
Quoted 6 lines · Jesse Huang
Dear Jeff:
Would you tell me what is current
sundance.cstatus which support IP100A? Are those patches update to current tree or not? Is there anything should I need to add to it and generate new patches?
I think they disappeared from my queue somewhere :(
Would you be kind enough to resend your patchset?
Jeff
Re: What is current sundance.c status?
OK! I will resend my patchset.
Thanks!
Jesse
----- Original Message -----
From: "Jeff Garzik" <[email protected]>
To: "Jesse Huang" <[email protected]>
Cc: <[email protected]>; <[email protected]>; <[email protected]>
Sent: Wednesday, September 13, 2006 12:05 AM
Subject: Re: What is current sundance.c status?
Quoted 6 lines · Jesse Huang
Dear Jeff:
Would you tell me what is current
sundance.cstatus which support IP100A? Are those patches update to current tree or not? Is there anything should I need to add to it and generate new patches?
I think they disappeared from my queue somewhere :(
Would you be kind enough to resend your patchset?
Jeff