lkml.org 
[lkml]   [2013]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 135/150] sfc: Correct efx_rx_buffer::page_offset when EFX_PAGE_IP_ALIGN != 0
    Date
    3.5.7.9 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Ben Hutchings <bhutchings@solarflare.com>

    commit c73e787a8db9117d59b5180baf83203a42ecadca upstream.

    RX DMA buffers start at an offset of EFX_PAGE_IP_ALIGN bytes from the
    start of a cache line. This offset obviously needs to be included in
    the virtual address, but this was missed in commit b590ace09d51
    ('sfc: Fix efx_rx_buf_offset() in the presence of swiotlb') since
    EFX_PAGE_IP_ALIGN is equal to 0 on both x86 and powerpc.

    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    drivers/net/ethernet/sfc/rx.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
    index 7faaea8..f8f7fc8 100644
    --- a/drivers/net/ethernet/sfc/rx.c
    +++ b/drivers/net/ethernet/sfc/rx.c
    @@ -218,7 +218,7 @@ static int efx_init_rx_buffers_page(struct efx_rx_queue *rx_queue)
    rx_buf = efx_rx_buffer(rx_queue, index);
    rx_buf->dma_addr = dma_addr + EFX_PAGE_IP_ALIGN;
    rx_buf->u.page = page;
    - rx_buf->page_offset = page_offset;
    + rx_buf->page_offset = page_offset + EFX_PAGE_IP_ALIGN;
    rx_buf->len = efx->rx_buffer_len - EFX_PAGE_IP_ALIGN;
    rx_buf->flags = EFX_RX_BUF_PAGE;
    ++rx_queue->added_count;
    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-03-27 10:41    [W:4.197 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site