On Fri, 2011-07-22 at 15:12 +0100, David Miller wrote: > From: Ian Campbell <ian.campbell@xxxxxxxxxx> > Date: Fri, 22 Jul 2011 14:17:28 +0100 > > > - put_dma(tx->index,eni_dev->dma,&j,(unsigned long) > > - skb_shinfo(skb)->frags[i].page + skb_shinfo(skb)->frags[i].page_offset, > > + put_dma(tx->index,eni_dev->dma,&j, > > + (unsigned long)skb_frag_address(&skb_shinfo(skb)->frags[i]), > > This is not an equivalent transformation. > > skb_frag_address() does a page_address() on the frag page, but that is > not what the code was doing here previously. > > It's possible the code was buggy, but you can't do a fix like that > amidst what is supposed to be a semantically NOP transformation. Ouch, you are absolutely right, I didn't spot that, sorry. The original code does look pretty bogus though, indexing off a struct page * like that -- CC'ing the ATM maintainer + list. Ian. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html