From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754560Ab1HJSGy (ORCPT ); Wed, 10 Aug 2011 14:06:54 -0400 Received: from cantor2.suse.de ([195.135.220.15]:58298 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754223Ab1HJSGw (ORCPT ); Wed, 10 Aug 2011 14:06:52 -0400 Date: Wed, 10 Aug 2011 20:06:48 +0200 Message-ID: From: Takashi Iwai To: Daniel Mack Cc: Alan Stern , Florian Mickler , Oliver Neukum , linux-usb@vger.kernel.org, alsa-devel@alsa-project.org, Clemens Ladisch , pedrib@gmail.com, William Light , Greg KH , linux-kernel@vger.kernel.org, Robert Hancock Subject: Re: Allocating buffers for USB transfers (again) In-Reply-To: <4E42A4AE.4020008@gmail.com> References: <4E42A4AE.4020008@gmail.com> User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Wed, 10 Aug 2011 17:33:02 +0200, Daniel Mack wrote: > > On 08/10/2011 04:32 PM, Alan Stern wrote: > > Looking at the driver's current code, it appears that your patch > > does not fix the bug properly. Using discontiguous regions in the > > transfer buffer is perfectly okay. The real problem is later on, > > where you do: > > > > if (send_it) { out->number_of_packets = FRAMES_PER_URB; > > > > This should be > > > > out->number_of_packets = outframe; > > > > The way it is now, the USB stack will try to use data from all the > > frame descriptors, and the last few will be stale because the loop > > doesn't set them. > > That's actually true, even though it doesn't seem to cause any trouble. > I tested everything here of course, and the output URBs return back from > the USB stack with their length fields zeroed out, which then > causes the stack to send packets with zero-length fields at the end. > > However, doing it right doesn't harm either. Thanks for spotting. > > Takashi, can you apply this version? Yep, applied now. Thanks. Takashi