Marius Strobl 10d8cebc7a Refine the previous change to only call bus_dmamap_sync() in case of
an URQ_REQUEST when DMA segments are passed to usbd_start_transfer();
when the request doesn't include the optional data buffer the size of
the transfer (xfer->length) is 0, in which case usbd_transfer() won't
create a DMA map but call usbd_start_transfer() with no DMA segments.
With the previous change this could result in the bus_dmamap_sync()
implementation dereferencing the NULL-pointer passed as the DMA map
argument.
While at it fix what appears to be a typo in usbd_start_transfer();
in order to determine wheter usbd_start_transfer() was called with
DMA segments check whether the number of segments is > 0 rather than
the pointer to them being > 0.

OK'ed by:	imp
2006-11-27 18:39:02 +00:00
..
2006-11-23 21:29:50 +00:00
2006-11-18 17:27:39 +00:00
2006-11-02 16:24:18 +00:00
2006-11-26 22:23:30 +00:00
2006-11-27 00:35:40 +00:00
2006-11-21 04:40:30 +00:00
2006-11-24 18:36:04 +00:00
2006-11-26 18:27:16 +00:00