Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758459AbZKFVo2 (ORCPT ); Fri, 6 Nov 2009 16:44:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758159AbZKFVo1 (ORCPT ); Fri, 6 Nov 2009 16:44:27 -0500 Received: from ja.ssi.bg ([217.79.71.194]:53349 "EHLO u.domain.uli" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753590AbZKFVo0 (ORCPT ); Fri, 6 Nov 2009 16:44:26 -0500 Date: Fri, 6 Nov 2009 23:44:53 +0200 (EET) From: Julian Anastasov X-X-Sender: ja@u.domain.uli To: Takashi Iwai cc: linux-kernel Subject: [PATCH] usb-audio: fix combine_word problem 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: 1454 Lines: 36 Fix combine_word problem where first octet is not read properly. The only affected place seems to be the INPUT_TERMINAL type. Before now, sound controls can be created with the output terminal's name which is a fallback mechanism used only for unknown input terminal types. For example, Line can wrongly appear as Speaker. After the change it should appear as Line. The side effect of this change can be that users can expect the wrong control name in their scripts or programs while now we return the correct one. Probably, these defines should use get_unaligned_le16 and friends. Signed-off-by: Julian Anastasov --- diff -urp v2.6.31/linux/sound/usb/usbaudio.h linux/sound/usb/usbaudio.h --- v2.6.31/linux/sound/usb/usbaudio.h 2009-06-13 10:53:59.000000000 +0300 +++ linux/sound/usb/usbaudio.h 2009-11-06 22:38:00.000000000 +0200 @@ -210,7 +210,7 @@ struct snd_usb_midi_endpoint_info { /* */ -#define combine_word(s) ((*s) | ((unsigned int)(s)[1] << 8)) +#define combine_word(s) ((*(s)) | ((unsigned int)(s)[1] << 8)) #define combine_triple(s) (combine_word(s) | ((unsigned int)(s)[2] << 16)) #define combine_quad(s) (combine_triple(s) | ((unsigned int)(s)[3] << 24)) -- 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/