lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hwpfl2vre.wl-tiwai@suse.de>
Date:   Wed, 30 Nov 2016 09:54:13 +0100
From:   Takashi Iwai <tiwai@...e.de>
To:     "Jiada Wang" <jiada_wang@...tor.com>
Cc:     <perex@...ex.cz>, <alsa-devel@...a-project.org>,
        <apape@...adit-jv.com>, <Mark_Craske@...tor.com>,
        <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3 v1] ALSA: usb-audio: more tolerant packetsize

On Wed, 30 Nov 2016 08:59:21 +0100,
Jiada Wang wrote:
> 
> From: Andreas Pape <apape@...adit-jv.com>
> 
> since commit 57e6dae1087bbaa6b33d3dd8a8e90b63888939a3 the expected packetsize is always limited to

Please use a form with 12 chars SHA ID plus the commit subject, e.g.
1234567890ab ("blah blah...")

> nominal + 25%. It was discovered, that some devices have a much higher jitter
> in used packetsizes than 25% which would result in BABBLE condition and dropping of packets.
> A better solution is so assume the jitter to be the nominal packetsize:
> -one nearly empty packet followed by a almost double sized one.

The increase of the max frequency is supposedly OK.
A remaining question is whether this should be included in stable
kernel.  It fixes in one side, but it's quite untested in another
side.  Maybe we queue this for 4.10, and later on notify to stable
maintainer once when it's confirmed to work and be harmless.


thanks,

Takashi

> 
> Signed-off-by: Andreas Pape <apape@...adit-jv.com>
> Signed-off-by: Jiada Wang <jiada_wang@...tor.com>
> ---
>  sound/usb/endpoint.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
> index c470251..2f592dd 100644
> --- a/sound/usb/endpoint.c
> +++ b/sound/usb/endpoint.c
> @@ -632,8 +632,8 @@ static int data_ep_set_params(struct snd_usb_endpoint *ep,
>  	ep->stride = frame_bits >> 3;
>  	ep->silence_value = pcm_format == SNDRV_PCM_FORMAT_U8 ? 0x80 : 0;
>  
> -	/* assume max. frequency is 25% higher than nominal */
> -	ep->freqmax = ep->freqn + (ep->freqn >> 2);
> +	/* assume max. frequency is double than nominal */
> +	ep->freqmax = ep->freqn * 2;
>  	/* Round up freqmax to nearest integer in order to calculate maximum
>  	 * packet size, which must represent a whole number of frames.
>  	 * This is accomplished by adding 0x0.ffff before converting the
> -- 
> 2.9.3
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ