lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20061002125929.GB3003@slug>
Date:	Mon, 2 Oct 2006 12:59:29 +0000
From:	Frederik Deweerdt <deweerdt@...e.fr>
To:	Jesse Huang <jesse@...lus.com.tw>
Cc:	linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
	akpm@...l.org, jgarzik@...ox.com
Subject: Re: [PATCH 5/5] Solve host error problem in low performance embedded system when continune down and up.

On Mon, Oct 02, 2006 at 02:26:36PM -0400, Jesse Huang wrote:
> From: Jesse Huang <jesse@...lus.com.tw>
> 
> Change Logs:
> Solve host error problem in low performance embedded system when continune down and up.
> 
> Signed-off-by: Jesse Huang <jesse@...lus.com.tw>
> ---
> 
>  drivers/net/sundance.c |   26 +++++++++++++++++++++++---
>  1 files changed, 23 insertions(+), 3 deletions(-)
> 
> c06c70e20a85facd640528ca66e0b579fc3ee745
> diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
> index 14b4933..b4a6010 100755
> --- a/drivers/net/sundance.c
> +++ b/drivers/net/sundance.c
> @@ -1643,6 +1643,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;
> +	np->cur_task = 0;
> +	np->last_tx = 0;
> +
>  	netif_stop_queue(dev);
>  
>  	if (netif_msg_ifdown(np)) {
> @@ -1663,9 +1671,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)
                                                ^^^^^^^
Missing white space?
> +			break;
> +		mdelay(1);
> +    	}
> +
> +    	iowrite16(GlobalReset | DMAReset | FIFOReset | NetworkReset, ioaddr +ASICCtrl + 2);
                                                                            ^^^^^^^^^
Same here..
> +
> +    	for (i = 2000; i > 0; i--)
> +    	{
> + 		if ((ioread16(ioaddr + ASICCtrl +2) &ResetBusy) == 0)
                                                    ^^^^^^^^^^
.. and here
> +			break;
> +		mdelay(1);
> +    	}
>  
Regards,
Frederik
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ