Re: [PATCH 4/4] IP100A: Solve host error problem in low performanceembedded system when continune down and up.

From: Randy.Dunlap
Date: Tue Aug 22 2006 - 11:59:55 EST


On Tue, 22 Aug 2006 14:31:32 -0400 Jesse Huang wrote:

> From: Jesse Huang <jesse@xxxxxxxxxxxxx>
>
> Change Logs:
> - Solve host error problem in low performance embedded
> system when continune down and up.
>
> Signed-off-by: Jesse Huang <jesse@xxxxxxxxxxxxx>
>
> ---
>
> sundance.c | 30 +++++++++++++++++++++++++-----
> 1 files changed, 25 insertions(+), 5 deletions(-)

Full path/file names above and below, please.

> a88c635933a981dd4fca87e5b8ca9426c5c98013
> diff --git a/sundance.c b/sundance.c
> index 424aebd..de55e0f 100755
> --- a/sundance.c
> +++ b/sundance.c
> @@ -1647,6 +1647,14 @@ static int netdev_close(struct net_devic
> struct 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;

Use same indentation/whitespace as surrounding code.
(tabs, not spaces)

> + 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);
> + }

Same comment about indentation/whitespace.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/