From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH] ALSA: usb-audio: fix automatic Roland/Yamaha MIDI detection Date: Mon, 12 Aug 2013 11:41:16 +0200 Message-ID: References: <51CC9D8B.7060601@ladisch.de> <4161390.DqJ0fEoIrV@kamdesktop> <52053269.2050706@ladisch.de> <2663331.bA47oXYmkZ@kamdesktop> <52077FD9.6060404@ladisch.de> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 6AE1B26084D for ; Mon, 12 Aug 2013 11:39:52 +0200 (CEST) In-Reply-To: <52077FD9.6060404@ladisch.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Clemens Ladisch Cc: alsa-devel@alsa-project.org, "Keith A. Milner" List-Id: alsa-devel@alsa-project.org At Sun, 11 Aug 2013 14:13:13 +0200, Clemens Ladisch wrote: > > Commit aafe77cc45a5 (ALSA: usb-audio: add support for many Roland/Yamaha > devices) had several logic errors that prevented create_auto_midi_quirk > from enumerating any MIDI ports. > > Reported-by: Keith A. Milner > Signed-off-by: Clemens Ladisch Thanks, applied. Takashi > --- > sound/usb/quirks.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > --- a/sound/usb/quirks.c > +++ b/sound/usb/quirks.c > @@ -319,19 +319,19 @@ static int create_auto_midi_quirk(struct snd_usb_audio *chip, > if (altsd->bNumEndpoints < 1) > return -ENODEV; > epd = get_endpoint(alts, 0); > - if (!usb_endpoint_xfer_bulk(epd) || > + if (!usb_endpoint_xfer_bulk(epd) && > !usb_endpoint_xfer_int(epd)) > return -ENODEV; > > switch (USB_ID_VENDOR(chip->usb_id)) { > case 0x0499: /* Yamaha */ > err = create_yamaha_midi_quirk(chip, iface, driver, alts); > - if (err < 0 && err != -ENODEV) > + if (err != -ENODEV) > return err; > break; > case 0x0582: /* Roland */ > err = create_roland_midi_quirk(chip, iface, driver, alts); > - if (err < 0 && err != -ENODEV) > + if (err != -ENODEV) > return err; > break; > } >