[Bug 237666] repeated messages of "uhub_reattach_port: giving up port reset - device vanished"

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Sep 19 08:04:56 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237666

--- Comment #136 from Hans Petter Selasky <hselasky at FreeBSD.org> ---
Mark,

Your finding indicate a problem in usb_pc_cpu_flush() and 

bus_dmamap_sync(pc->tag, pc->map, BUS_DMASYNC_PREWRITE);

Try to put the dsb only after dmamap_sync.

void
usb_pc_cpu_flush(struct usb_page_cache *pc)
{
        if (pc->page_offset_end == pc->page_offset_buf) {
                /* nothing has been loaded into this page cache! */
                return;
        }
        bus_dmamap_sync(pc->tag, pc->map, BUS_DMASYNC_PREWRITE);
}

The PCI I/O memory should be coherent and should not need any DSB's.

--HPS

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-usb mailing list