Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp747274iob; Fri, 13 May 2022 11:33:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxKjhOKXBD5k8mgvOJSmNq03hDOksjqiNkBB/GzkAzka0F5EkLospVlZqLCEJahwOcU2Q0d X-Received: by 2002:a17:907:a0c8:b0:6f7:492e:e74c with SMTP id hw8-20020a170907a0c800b006f7492ee74cmr5335845ejc.670.1652466808621; Fri, 13 May 2022 11:33:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652466808; cv=none; d=google.com; s=arc-20160816; b=gBLH71c/gCQGPk2KhTduC5dHbSJOXG2P2BtnlZqLgcEp4HGDWXPfsi/OD6sk1pm29S mdf0yV127WPcm2Tw7/SacWz5bA8jX6AXFT7yF5uXH+9hbhcUTzhLaebC8hFFVbXbSeVw WyhJ0351+ttg8XcjSq1mw21S9iUak1Jdrma8t0l/88czuKj9Su0BVe3O51U5tBT8fmRd /iMjU3mFZEAfqMRdW4cbuNLFThcUqlEcbxTEZhMo7FGn4JIQG75yZGVBcmLWAKuixLVD 6JcqQ1exKiu+zQzMoTLkmJGUHVKV4hc6TsdhF2w+Z7FvEHrZ/1CqeeCigSKWkagd5l+E 8eDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=+Kd2aP7i4LjfP1TH0e7iI/Ss3gt0MYVgBTiX28uE578=; b=BTlPw1fSdoMONBxISVw6EewI+tZaH6wdGoSYLc3TNbIxCpnH8hvNTnplf/TxpwtPnE 1KWf7SJpZaM3elkqsjMUsRDnCyvGOeE20w7hj6xSJ4od5UE/b89ume+SNbUpaFcTck1n APp9uSwiIk6/NPzikwLHyfedVOXHta4zf/DCUNNL3NLZQ5DpAB+JoQrOHIH10XGJyVvH mP6Fmrsf6MHwj2Uk9rZjpXLs8dFoKh84YG8XhY4/Io3EOwqJkVirng9MB5HWmFENJfRQ WVnxeqwASNma5yRprm7oU+RdkyGk4Q2LTGsV0TVArncWqxkh0XXWjuProU0yt4mJz91S 5FzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id oz14-20020a1709077d8e00b006f4314a3fb0si2900679ejc.866.2022.05.13.11.32.44; Fri, 13 May 2022 11:33:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1380458AbiEMMxS convert rfc822-to-8bit (ORCPT + 99 others); Fri, 13 May 2022 08:53:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37864 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1380445AbiEMMxS (ORCPT ); Fri, 13 May 2022 08:53:18 -0400 Received: from mail.holtmann.org (coyote.holtmann.net [212.227.132.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 590DB5DE7E; Fri, 13 May 2022 05:53:16 -0700 (PDT) Received: from smtpclient.apple (p4ff9f69b.dip0.t-ipconnect.de [79.249.246.155]) by mail.holtmann.org (Postfix) with ESMTPSA id 5AC30CECC4; Fri, 13 May 2022 14:53:15 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\)) Subject: Re: [PATCH] bluetooth: bfusb: Check the endpoint type at probe From: Marcel Holtmann In-Reply-To: <20220513124303.2192981-1-zheyuma97@gmail.com> Date: Fri, 13 May 2022 14:53:14 +0200 Cc: Johan Hedberg , Luiz Augusto von Dentz , BlueZ , linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8BIT Message-Id: References: <20220513124303.2192981-1-zheyuma97@gmail.com> To: Zheyu Ma X-Mailer: Apple Mail (2.3696.80.82.1.1) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Hi Zheyu, > The driver reported an warning in usb_submit_urb() which is caused by > wrong endpoint type. > > [ 3.295630] usb 1-1: BOGUS urb xfer, pipe 3 != type 1 > [ 3.295916] WARNING: CPU: 0 PID: 33 at drivers/usb/core/urb.c:503 usb_submit_urb+0xcd9/0x18b0 > [ 3.298155] RIP: 0010:usb_submit_urb+0xcd9/0x18b0 > [ 3.302451] Call Trace: > [ 3.302580] > [ 3.302698] bfusb_rx_submit+0x24e/0x390 [bfusb] > [ 3.302938] bfusb_open+0x50/0x90 [bfusb] > > Fix this by checking the endpoint type at first. > > Signed-off-by: Zheyu Ma > --- > drivers/bluetooth/bfusb.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/bluetooth/bfusb.c b/drivers/bluetooth/bfusb.c > index cab93935cc7f..447b6876c552 100644 > --- a/drivers/bluetooth/bfusb.c > +++ b/drivers/bluetooth/bfusb.c > @@ -613,7 +613,9 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i > bulk_out_ep = &intf->cur_altsetting->endpoint[0]; > bulk_in_ep = &intf->cur_altsetting->endpoint[1]; > > - if (!bulk_out_ep || !bulk_in_ep) { > + if (!bulk_out_ep || !bulk_in_ep || > + !usb_endpoint_is_bulk_out(&bulk_out_ep->desc) || > + !usb_endpoint_is_bulk_in(&bulk_in_ep->desc)) { > BT_ERR("Bulk endpoints not found"); > goto done; > } how are you getting this. This driver only works on one specific piece of hardware. Regards Marcel