All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 2/2] Bluetooth: mediatek: fix the conflict between mtk and msft vendor event
Date: Sat, 29 Jan 2022 17:54:22 +0800	[thread overview]
Message-ID: <202201291727.neufc3xR-lkp@intel.com> (raw)
In-Reply-To: <2eed797ac2605bd068a025486fc0c09c2687e50c.1643435854.git.objelf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 8438 bytes --]

Hi,

I love your patch! Perhaps something to improve:

[auto build test WARNING on bluetooth-next/master]
[also build test WARNING on next-20220128]
[cannot apply to bluetooth/master v5.17-rc1]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/sean-wang-mediatek-com/Bluetooth-mt7921s-support-bluetooth-reset-mechanism/20220129-140313
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20220129/202201291727.neufc3xR-lkp(a)intel.com/config)
compiler: mips-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/33092fd43b74594bae07555a6fdf15133cc8ec54
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review sean-wang-mediatek-com/Bluetooth-mt7921s-support-bluetooth-reset-mechanism/20220129-140313
        git checkout 33092fd43b74594bae07555a6fdf15133cc8ec54
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/bluetooth/btusb.c: In function 'btusb_mtk_wmt_recv':
>> drivers/bluetooth/btusb.c:2253:31: warning: variable 'hdr' set but not used [-Wunused-but-set-variable]
    2253 |         struct hci_event_hdr *hdr;
         |                               ^~~


vim +/hdr +2253 drivers/bluetooth/btusb.c

5a87679ffd4436 mark-yw.chen 2021-09-01  2248  
a1c49c434e1505 Sean Wang    2019-06-02  2249  static void btusb_mtk_wmt_recv(struct urb *urb)
a1c49c434e1505 Sean Wang    2019-06-02  2250  {
a1c49c434e1505 Sean Wang    2019-06-02  2251  	struct hci_dev *hdev = urb->context;
a1c49c434e1505 Sean Wang    2019-06-02  2252  	struct btusb_data *data = hci_get_drvdata(hdev);
a1c49c434e1505 Sean Wang    2019-06-02 @2253  	struct hci_event_hdr *hdr;
a1c49c434e1505 Sean Wang    2019-06-02  2254  	struct sk_buff *skb;
a1c49c434e1505 Sean Wang    2019-06-02  2255  	int err;
a1c49c434e1505 Sean Wang    2019-06-02  2256  
a1c49c434e1505 Sean Wang    2019-06-02  2257  	if (urb->status == 0 && urb->actual_length > 0) {
a1c49c434e1505 Sean Wang    2019-06-02  2258  		hdev->stat.byte_rx += urb->actual_length;
a1c49c434e1505 Sean Wang    2019-06-02  2259  
a1c49c434e1505 Sean Wang    2019-06-02  2260  		/* WMT event shouldn't be fragmented and the size should be
a1c49c434e1505 Sean Wang    2019-06-02  2261  		 * less than HCI_WMT_MAX_EVENT_SIZE.
a1c49c434e1505 Sean Wang    2019-06-02  2262  		 */
a1c49c434e1505 Sean Wang    2019-06-02  2263  		skb = bt_skb_alloc(HCI_WMT_MAX_EVENT_SIZE, GFP_ATOMIC);
a1c49c434e1505 Sean Wang    2019-06-02  2264  		if (!skb) {
a1c49c434e1505 Sean Wang    2019-06-02  2265  			hdev->stat.err_rx++;
60c6a63a3d3080 Mark-YW.Chen 2021-10-14  2266  			kfree(urb->setup_packet);
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2267  			return;
a1c49c434e1505 Sean Wang    2019-06-02  2268  		}
a1c49c434e1505 Sean Wang    2019-06-02  2269  
a1c49c434e1505 Sean Wang    2019-06-02  2270  		hci_skb_pkt_type(skb) = HCI_EVENT_PKT;
a1c49c434e1505 Sean Wang    2019-06-02  2271  		skb_put_data(skb, urb->transfer_buffer, urb->actual_length);
a1c49c434e1505 Sean Wang    2019-06-02  2272  
a1c49c434e1505 Sean Wang    2019-06-02  2273  		hdr = (void *)skb->data;
a1c49c434e1505 Sean Wang    2019-06-02  2274  
a1c49c434e1505 Sean Wang    2019-06-02  2275  		/* When someone waits for the WMT event, the skb is being cloned
a1c49c434e1505 Sean Wang    2019-06-02  2276  		 * and being processed the events from there then.
a1c49c434e1505 Sean Wang    2019-06-02  2277  		 */
a1c49c434e1505 Sean Wang    2019-06-02  2278  		if (test_bit(BTUSB_TX_WAIT_VND_EVT, &data->flags)) {
22cc6b7a1dbb58 Johan Hovold 2019-11-28  2279  			data->evt_skb = skb_clone(skb, GFP_ATOMIC);
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2280  			if (!data->evt_skb) {
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2281  				kfree_skb(skb);
60c6a63a3d3080 Mark-YW.Chen 2021-10-14  2282  				kfree(urb->setup_packet);
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2283  				return;
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2284  			}
a1c49c434e1505 Sean Wang    2019-06-02  2285  		}
a1c49c434e1505 Sean Wang    2019-06-02  2286  
a1c49c434e1505 Sean Wang    2019-06-02  2287  		err = hci_recv_frame(hdev, skb);
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2288  		if (err < 0) {
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2289  			kfree_skb(data->evt_skb);
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2290  			data->evt_skb = NULL;
60c6a63a3d3080 Mark-YW.Chen 2021-10-14  2291  			kfree(urb->setup_packet);
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2292  			return;
de71a6cb4bf24d Jupeng Zhong 2021-02-02  2293  		}
a1c49c434e1505 Sean Wang    2019-06-02  2294  
a1c49c434e1505 Sean Wang    2019-06-02  2295  		if (test_and_clear_bit(BTUSB_TX_WAIT_VND_EVT,
a1c49c434e1505 Sean Wang    2019-06-02  2296  				       &data->flags)) {
a1c49c434e1505 Sean Wang    2019-06-02  2297  			/* Barrier to sync with other CPUs */
a1c49c434e1505 Sean Wang    2019-06-02  2298  			smp_mb__after_atomic();
a1c49c434e1505 Sean Wang    2019-06-02  2299  			wake_up_bit(&data->flags,
a1c49c434e1505 Sean Wang    2019-06-02  2300  				    BTUSB_TX_WAIT_VND_EVT);
a1c49c434e1505 Sean Wang    2019-06-02  2301  		}
60c6a63a3d3080 Mark-YW.Chen 2021-10-14  2302  		kfree(urb->setup_packet);
a1c49c434e1505 Sean Wang    2019-06-02  2303  		return;
a1c49c434e1505 Sean Wang    2019-06-02  2304  	} else if (urb->status == -ENOENT) {
a1c49c434e1505 Sean Wang    2019-06-02  2305  		/* Avoid suspend failed when usb_kill_urb */
a1c49c434e1505 Sean Wang    2019-06-02  2306  		return;
a1c49c434e1505 Sean Wang    2019-06-02  2307  	}
a1c49c434e1505 Sean Wang    2019-06-02  2308  
a1c49c434e1505 Sean Wang    2019-06-02  2309  	usb_mark_last_busy(data->udev);
a1c49c434e1505 Sean Wang    2019-06-02  2310  
a1c49c434e1505 Sean Wang    2019-06-02  2311  	/* The URB complete handler is still called with urb->actual_length = 0
a1c49c434e1505 Sean Wang    2019-06-02  2312  	 * when the event is not available, so we should keep re-submitting
a1c49c434e1505 Sean Wang    2019-06-02  2313  	 * URB until WMT event returns, Also, It's necessary to wait some time
a1c49c434e1505 Sean Wang    2019-06-02  2314  	 * between the two consecutive control URBs to relax the target device
a1c49c434e1505 Sean Wang    2019-06-02  2315  	 * to generate the event. Otherwise, the WMT event cannot return from
a1c49c434e1505 Sean Wang    2019-06-02  2316  	 * the device successfully.
a1c49c434e1505 Sean Wang    2019-06-02  2317  	 */
48c13301e6baba Mark Chen    2021-02-02  2318  	udelay(500);
a1c49c434e1505 Sean Wang    2019-06-02  2319  
a1c49c434e1505 Sean Wang    2019-06-02  2320  	usb_anchor_urb(urb, &data->ctrl_anchor);
a1c49c434e1505 Sean Wang    2019-06-02  2321  	err = usb_submit_urb(urb, GFP_ATOMIC);
a1c49c434e1505 Sean Wang    2019-06-02  2322  	if (err < 0) {
60c6a63a3d3080 Mark-YW.Chen 2021-10-14  2323  		kfree(urb->setup_packet);
a1c49c434e1505 Sean Wang    2019-06-02  2324  		/* -EPERM: urb is being killed;
a1c49c434e1505 Sean Wang    2019-06-02  2325  		 * -ENODEV: device got disconnected
a1c49c434e1505 Sean Wang    2019-06-02  2326  		 */
a1c49c434e1505 Sean Wang    2019-06-02  2327  		if (err != -EPERM && err != -ENODEV)
a1c49c434e1505 Sean Wang    2019-06-02  2328  			bt_dev_err(hdev, "urb %p failed to resubmit (%d)",
a1c49c434e1505 Sean Wang    2019-06-02  2329  				   urb, -err);
a1c49c434e1505 Sean Wang    2019-06-02  2330  		usb_unanchor_urb(urb);
a1c49c434e1505 Sean Wang    2019-06-02  2331  	}
a1c49c434e1505 Sean Wang    2019-06-02  2332  }
a1c49c434e1505 Sean Wang    2019-06-02  2333  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

  reply	other threads:[~2022-01-29  9:54 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-29  6:02 [PATCH 1/2] Bluetooth: mt7921s: support bluetooth reset mechanism sean.wang
2022-01-29  6:02 ` sean.wang
2022-01-29  6:02 ` [PATCH 2/2] Bluetooth: mediatek: fix the conflict between mtk and msft vendor event sean.wang
2022-01-29  6:02   ` sean.wang
2022-01-29  9:54   ` kernel test robot [this message]
2022-01-29  9:54   ` kernel test robot
2022-01-29  9:54     ` kernel test robot
2022-02-07 15:48   ` Marcel Holtmann
2022-02-07 15:48     ` Marcel Holtmann
2022-01-29  7:05 ` [1/2] Bluetooth: mt7921s: support bluetooth reset mechanism bluez.test.bot
  -- strict thread matches above, loose matches on Subject: below --
2022-02-13  0:25 [PATCH 2/2] Bluetooth: mediatek: fix the conflict between mtk and msft vendor event kernel test robot
2022-02-14  8:52 ` kernel test robot
2022-02-14  8:52   ` kernel test robot
2022-02-14  8:52   ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202201291727.neufc3xR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.