[lkml]   [2000]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    ** Reply to message from Alan Cox <> on Fri, 29 Sep
    2000 23:00:16 +0100 (BST)

    > > "num_pages" is usually just equal to 1. This code appears to work very well.
    > > However, when I call the iounmap function on the memory obtained via
    > > ioremap_nocache, sometimes I hit a kernel BUG(). The code which causes the bug
    > > is in page_alloc.c, line 85 (in function __free_pages_ok):
    > >
    > > if (page->buffers)
    > > BUG();
    > This sounds like you are trying to do maps on pages that are in use. No can do

    Why not? I mean, I can access the memory anyway from the driver, since it's
    all mapped linearly via phys_to_virt. All I'm really doing is creating a
    temporary alias.

    Unfortunately, this mapping is a requirement for our product. I'd hate to have
    to create my own pte's and do it all manually.

    What confuses me is what ioremap_nocache() doesn't fail. Why are these tests
    (e.g. page->buffers) not in ioremap_nocache()?

    Timur Tabi -
    Interactive Silicon -

    When replying to a mailing-list message, please don't cc: me, because then I'll just get two copies of the same message.
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:45    [W:0.019 / U:8.428 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site