lkml.org 
[lkml]   [2019]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: MT76x2U crashes XHCI driver on AMD Ryzen system
    On Tue, Feb 26, 2019 at 12:24:08PM +0100, Stanislaw Gruszka wrote:
    > On Tue, Feb 26, 2019 at 11:44:13AM +0100, Joerg Roedel wrote:
    > > On Tue, Feb 26, 2019 at 11:34:51AM +0100, Stanislaw Gruszka wrote:
    > > > On Tue, Feb 26, 2019 at 11:05:36AM +0100, Joerg Roedel wrote:
    > > > If sg->offset > PAGE_SIZE is fine then most likely we have problem with
    > > > alignment.
    > >
    > > The map_sg implementation in the AMD IOMMU driver uses sg_phys() which
    > > handles the sg->page + sg->offset calculation fine.
    > >
    > > > Note hat issue is with dma_map_sg(), switching to dma_map_single()
    > > > by using urb->transfer_buffer instead of urb->sg make things work
    > > > on AMD IOMMU.
    > >
    > > On the other hand this points to a bug in the driver, I'll look further
    > > if I can spot something there.
    >
    > I think so too. And I have done some changes that avoid strange allocation
    > scheme and use usb synchronous messages instead of allocating buffers
    > with unaligned sizes. However things work ok on Intel IOMMU and
    > there is no documentation what are dma_map_sg() requirement versus
    > dma_map_single() which works. I think there are some unwritten
    > requirements and things can work on some platforms and fails on others
    > (different IOMMUs, no-IOMMU on some ARCHes)

    For the record: we have another bug report with this issue:
    https://bugzilla.kernel.org/show_bug.cgi?id=202673

    I provided there patch that change alignment for page_frag_alloc() and
    it did not fixed the problem. So this is not alignment issue.
    Now I think it could be page->refcount issue ...

    Stanislaw

    \
     
     \ /
      Last update: 2019-02-28 10:05    [W:3.061 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site