On Thu, Apr 23, 2015 at 04:31:51PM +0200, Frans Klaver wrote: > On Thu, Apr 23, 2015 at 4:06 PM, Johan Hovold <johan@xxxxxxxxxx> wrote: > > static void free_dma_aligned_buffer(struct urb *urb) > > { > > struct dma_aligned_buffer *temp; > > + size_t length; > > > > if (!(urb->transfer_flags & URB_ALIGNED_TEMP_BUFFER)) > > return; > > @@ -311,9 +312,14 @@ static void free_dma_aligned_buffer(struct urb *urb) > > temp = container_of(urb->transfer_buffer, > > struct dma_aligned_buffer, data); > > > > - if (usb_urb_dir_in(urb)) > > - memcpy(temp->old_xfer_buffer, temp->data, > > - urb->transfer_buffer_length); > > + if (usb_urb_dir_in(urb)) { > > + if (usb_pipeisoc(urb->pipe)) > > + length = urb->transfer_buffer_length; > > + else > > + length = urb->actual_length; > > + > > + memcpy(temp->old_xfer_buffer, temp->data, length); > > + } > > urb->transfer_buffer = temp->old_xfer_buffer; > > kfree(temp->kmalloc_ptr); > > Out of curiosity: any reason not to declare that length variable > inside this new compound? Just my style preference. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html