Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Sep 2020 08:04:53 +0000
From:      bugzilla-noreply@freebsd.org
To:        usb@FreeBSD.org
Subject:   [Bug 237666] repeated messages of "uhub_reattach_port: giving up port reset - device vanished"
Message-ID:  <bug-237666-19105-8fU7uKBegg@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-237666-19105@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

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

--- Comment #136 from Hans Petter Selasky <hselasky@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.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-237666-19105-8fU7uKBegg>