Correct cache handling for xfer requests marked URQ_REQUEST: many (if not

all uses) involve a read but usbd_start_transfer only does a PREWRITE; change
this to BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE as I'm not sure if any
users do write+read.

Reviewed by:	cognet, imp
MFC after:	1 month
This commit is contained in:
sam 2008-03-20 16:04:13 +00:00
parent 70faf3fbc1
commit c8f58c14c0

View File

@ -384,7 +384,8 @@ usbd_start_transfer(void *arg, bus_dma_segment_t *segs, int nseg, int error)
* sync the dmamap for the request data in the SETUP
* packet.
*/
bus_dmamap_sync(tag, dmap->map, BUS_DMASYNC_PREWRITE);
bus_dmamap_sync(tag, dmap->map,
BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
} else
bus_dmamap_sync(tag, dmap->map, BUS_DMASYNC_PREREAD);
}