Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932578AbbFIRYl (ORCPT ); Tue, 9 Jun 2015 13:24:41 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:38724 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753514AbbFIRYd (ORCPT ); Tue, 9 Jun 2015 13:24:33 -0400 Date: Tue, 9 Jun 2015 13:24:32 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Kishon Vijay Abraham I cc: Michael Trimarchi , Felipe Balbi , , , , , Subject: Re: [RFC PATCH] usb: dwc3: ep0: Fix mem corruption on OUT transfers of more than 512 bytes In-Reply-To: <557710CE.5050304@ti.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1209 Lines: 29 On Tue, 9 Jun 2015, Kishon Vijay Abraham I wrote: > > But with a bounce buffer that's only 512 bytes long, you can never send > > an entire packet's worth of data. If the bounce buffer is 1024 bytes > > for control endpoint, 512 bytes should be sufficient to send entire packet right? Yes, you're right. I had confused control endpoints with bulk endpoints, where the maxpacket size is 1024. Sorry for the mistake. > > then you can send the entire first packet. When that's done, you can > > send the second packet. And so on. It wouldn't be quite as fast, but > > for ep0 that shouldn't matter. > > right! this is a variant of what I tried to implement in chained TRB [1]. > $subject tries just to avoid memory corruption instead of actually trying to > receive all the data. Okay. If you take the $SUBJECT approach, I think it would be better for an URB submission to fail than for the host controller to send only part of the data. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/