lkml.org 
[lkml]   [2009]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/7] swiotlb: map_page fix for highmem systems
    Date
    From: Becky Bruce <beckyb@kernel.crashing.org>

    The current code calls virt_to_phys() on address that might
    be in highmem, which is bad. This wasn't needed, anyway, because
    we already have the physical address we need. Get rid of the
    now-unused virtual address as well.

    Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
    Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
    ---
    lib/swiotlb.c | 3 +--
    1 files changed, 1 insertions(+), 2 deletions(-)

    diff --git a/lib/swiotlb.c b/lib/swiotlb.c
    index 4fd6a76..e8a47c8 100644
    --- a/lib/swiotlb.c
    +++ b/lib/swiotlb.c
    @@ -640,7 +640,6 @@ dma_addr_t swiotlb_map_page(struct device *dev, struct page *page,
    struct dma_attrs *attrs)
    {
    phys_addr_t phys = page_to_phys(page) + offset;
    - void *ptr = page_address(page) + offset;
    dma_addr_t dev_addr = swiotlb_phys_to_bus(dev, phys);
    void *map;

    @@ -651,7 +650,7 @@ dma_addr_t swiotlb_map_page(struct device *dev, struct page *page,
    * buffering it.
    */
    if (!address_needs_mapping(dev, dev_addr, size) &&
    - !range_needs_mapping(virt_to_phys(ptr), size))
    + !range_needs_mapping(phys, size))
    return dev_addr;

    /*
    --
    1.6.0.6


    \
     
     \ /
      Last update: 2009-04-08 16:17    [W:0.020 / U:0.672 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site