Messages in this thread | | | Date | Thu, 23 Apr 2015 16:45:08 +0200 | From | Johan Hovold <> | Subject | Re: [PATCH v2 2/3] USB: ehci-tegra: fix inefficient copy of unaligned buffers |
| |
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@kernel.org> 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
| |