marius b92c02c4c7 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-09-07 00:06:42 +00:00
2005-09-18 11:45:39 +00:00
2006-09-07 00:06:42 +00:00
2006-11-21 22:29:06 +00:00
2006-09-06 23:44:25 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-01-21 10:25:51 +00:00
2006-09-06 23:44:25 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2005-09-22 05:06:37 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-06 23:29:53 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-06 23:44:25 +00:00
2006-09-06 23:44:25 +00:00
2006-09-07 00:06:42 +00:00
2006-09-06 23:44:25 +00:00
2006-09-06 23:44:25 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00
2006-09-07 00:06:42 +00:00