All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Acker <dacker@roinet.com>
To: Kevin Hao <kexin.hao@windriver.com>
Cc: linux-kernel@vger.kernel.org, jeffrey.t.kirsher@intel.com,
	jesse.brandeburg@intel.com, bruce.w.allan@intel.com,
	john.ronciak@intel.com, e1000-devel@lists.sourceforge.net,
	linux-arm-kernel@lists.arm.linux.org.uk,
	linux-net@vger.kernel.org, grfstrm@users.sourceforge.net
Subject: Re: [PATCH] e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx
Date: Sat, 21 Jun 2008 21:51:04 -0400	[thread overview]
Message-ID: <485DB008.30405@roinet.com> (raw)
In-Reply-To: <1214043635.12484.8.camel@hkx>

Kevin Hao wrote:
> Hi,
> 
> The E100 device can't work on current kernel (2.6.26-rc6) and will cause
> kernel corruption on intel ixdp4xx. This patch fix this regression.
> 
Hello, this is pretty much the same patch that Anders Grafström sent on 
6/18.  I think it looks good; I am sorry I missed this.  I think this 
can be ok'ed if folks can test it on a few different ARM platforms and 
of course x86.

I am getting sinus surgery this Monday but I should be back in the 
office within a week.  I will give it a try then.  I will test it on an 
ixp425 board and an PXA255 board.  Just so you know, I found the 
in-kernel packet generator to be a good test.  I also found using the 
board as a router between wired and wireless devices to catch issues 
that led me to posting patches for this driver in the first place.

-ack

> ---
> commit c1f24812b9de182a4272724a2e84ea1ae5dd4659
> Author: Kevin Hao <kexin.hao@windriver.com>
> Date:   Sat Jun 21 16:50:50 2008 +0800
> 
>     e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx
>     
>     Do a DMA sync after we've allocated a new skb and link it with the previous
>     RFD.  Otherwise the previous RFD may reference the previously freed skb
>     and cause kernel corruption.
>     
>     Previously there was such a DMA sync at this place, but it was removed
>     by commit 7734f6e6bcd7ba78b00e93e74a4ddafd9886cdea.
>     Restoring this sync operation eliminates the regression.
>     
>     Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
> 
> diff --git a/drivers/net/e100.c b/drivers/net/e100.c
> index f3cba5e..1037b13 100644
> --- a/drivers/net/e100.c
> +++ b/drivers/net/e100.c
> @@ -1803,6 +1803,8 @@ static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
>  	if (rx->prev->skb) {
>  		struct rfd *prev_rfd = (struct rfd *)rx->prev->skb->data;
>  		put_unaligned_le32(rx->dma_addr, &prev_rfd->link);
> +		pci_dma_sync_single_for_device(nic->pdev, rx->prev->dma_addr,
> +			sizeof(struct rfd), PCI_DMA_TODEVICE);
>  	}
>  
>  	return 0;
> ---
> 
> Best Regards,
> Kevin
> 


  reply	other threads:[~2008-06-22  1:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-21 10:20 [PATCH] e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx Kevin Hao
2008-06-22  1:51 ` David Acker [this message]
2008-06-27  5:32 ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=485DB008.30405@roinet.com \
    --to=dacker@roinet.com \
    --cc=bruce.w.allan@intel.com \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=grfstrm@users.sourceforge.net \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=john.ronciak@intel.com \
    --cc=kexin.hao@windriver.com \
    --cc=linux-arm-kernel@lists.arm.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-net@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.