From patchwork Fri May 6 16:33:53 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wang yanqing X-Patchwork-Id: 9034801 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 1A3BEBF29F for ; Fri, 6 May 2016 16:47:20 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 2F5B72026F for ; Fri, 6 May 2016 16:47:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3087C201C8 for ; Fri, 6 May 2016 16:47:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758607AbcEFQqz (ORCPT ); Fri, 6 May 2016 12:46:55 -0400 Received: from mail-pa0-f67.google.com ([209.85.220.67]:33677 "EHLO mail-pa0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758568AbcEFQqx (ORCPT ); Fri, 6 May 2016 12:46:53 -0400 Received: by mail-pa0-f67.google.com with SMTP id gh9so10749691pac.0; Fri, 06 May 2016 09:46:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mail-followup-to:mime-version :content-disposition:user-agent; bh=L+s55Hor29tJorXFD/lBxWB9OxnENKJ06WuPYcCWqDs=; b=tcUcucxbQ3scnwwgvBjpd2dLNhLiSIf6YwB76IMCTW4E6gZ+xkFafArjWRrlHd981Y +wm8gEOqgKKWrY1x7w0YzTVsduDLpi79axBLkacL+ZoB0W+LTB9EAJ6CF2Gq/vNci15/ CJJxzoKp7Zl7nvOyvg32CdlM+qzHRhcIPgQ7ga8R6y3AZKzvwEGFMquuyIZRwiRWySU7 4ZW5EdRxWVGVQ19jWxoVgeSx0EHg9AtS8+COJbRchhNlEpboSlk4/eyKR1u/KY4eR2vF sChEwIg46OQArIaFeWSlMDXUO7d3k/oG8gSCIammUoWH7TYdW836j3wRabakszCP2oni 023g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:mime-version:content-disposition:user-agent; bh=L+s55Hor29tJorXFD/lBxWB9OxnENKJ06WuPYcCWqDs=; b=UPctk2cO0uXL1oOKfyUWul0As2zFXmXLCCvmmD/Jhcc1mtKdvJr/8azhsqBTHp9eVB 1GXZGzlxBTOeamEc0k6FcwTK7BfSe641e/tMoHZ5wu05srFoyqmyHplxawL/hieYRud1 clyGryt3Jah4cGUhaGrHaQREaPmfZtzOQvq9lI3IB+PQG8etFMC64dKJEDXoloaW7YjV gz1ud5+Q/6QH+E+eQ77wyGQGrvv/qpwlyERWTvyK863dMLVoIsU01ia40e3DnHtcMi7O 1D/tNWgXQ0h7tunfzzgthQFaaaTZb11/L+t86oemGdF55Qn+xu9F2ARJLOGeVUSC2Edz Duzg== X-Gm-Message-State: AOPr4FX8fReH0H0vzM/h7ICKPNM2csfhDGEWSbGBC/81VdmbsZ8zlEcIt7fCk+n16ReWEg== X-Received: by 10.66.27.164 with SMTP id u4mr29790936pag.112.1462553212929; Fri, 06 May 2016 09:46:52 -0700 (PDT) Received: from udknight.localhost ([218.66.137.165]) by smtp.gmail.com with ESMTPSA id c25sm22215304pfd.67.2016.05.06.09.46.50 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 06 May 2016 09:46:51 -0700 (PDT) Received: from udknight.localhost (udknight.com [127.0.0.1]) by udknight.localhost (8.14.4/8.14.4) with ESMTP id u46GYDNc004656; Sat, 7 May 2016 00:34:14 +0800 Received: (from root@localhost) by udknight.localhost (8.14.4/8.14.4/Submit) id u46GXrxE004644; Sat, 7 May 2016 00:33:53 +0800 Date: Sat, 7 May 2016 00:33:53 +0800 From: Wang YanQing To: Larry.Finger@lwfinger.net Cc: chaoming_li@realsil.com.cn, kvalo@codeaurora.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] rtlwifi: pci: use dev_kfree_skb_irq instead of kfree_skb in rtl_pci_reset_trx_ring Message-ID: <20160506163351.GA4589@udknight> Mail-Followup-To: Wang YanQing , Larry.Finger@lwfinger.net, chaoming_li@realsil.com.cn, kvalo@codeaurora.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.22 (2013-10-16) Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-8.9 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We can't use kfree_skb in irq disable context, because spin_lock_irqsave make sure we are always in irq disable context, use dev_kfree_skb_irq instead of kfree_skb is better than dev_kfree_skb_any. This patch fix below kernel warning: [ 7612.095528] ------------[ cut here ]------------ [ 7612.095546] WARNING: CPU: 3 PID: 4460 at kernel/softirq.c:150 __local_bh_enable_ip+0x58/0x80() [ 7612.095550] Modules linked in: rtl8723be x86_pkg_temp_thermal btcoexist rtl_pci rtlwifi rtl8723_common [ 7612.095567] CPU: 3 PID: 4460 Comm: ifconfig Tainted: G W 4.4.0+ #4 [ 7612.095570] Hardware name: LENOVO 20DFA04FCD/20DFA04FCD, BIOS J5ET48WW (1.19 ) 08/27/2015 [ 7612.095574] 00000000 00000000 da37fc70 c12ce7c5 00000000 da37fca0 c104cc59 c19d4454 [ 7612.095584] 00000003 0000116c c19d4784 00000096 c10508a8 c10508a8 00000200 c1b42400 [ 7612.095594] f29be780 da37fcb0 c104ccad 00000009 00000000 da37fcbc c10508a8 f21f08b8 [ 7612.095604] Call Trace: [ 7612.095614] [] dump_stack+0x41/0x5c [ 7612.095620] [] warn_slowpath_common+0x89/0xc0 [ 7612.095628] [] ? __local_bh_enable_ip+0x58/0x80 [ 7612.095634] [] ? __local_bh_enable_ip+0x58/0x80 [ 7612.095640] [] warn_slowpath_null+0x1d/0x20 [ 7612.095646] [] __local_bh_enable_ip+0x58/0x80 [ 7612.095653] [] destroy_conntrack+0x64/0xa0 [ 7612.095660] [] nf_conntrack_destroy+0xf/0x20 [ 7612.095665] [] skb_release_head_state+0x55/0xa0 [ 7612.095670] [] skb_release_all+0xb/0x20 [ 7612.095674] [] __kfree_skb+0xb/0x60 [ 7612.095679] [] kfree_skb+0x30/0x70 [ 7612.095686] [] ? rtl_pci_reset_trx_ring+0x22d/0x370 [rtl_pci] [ 7612.095692] [] rtl_pci_reset_trx_ring+0x22d/0x370 [rtl_pci] [ 7612.095698] [] rtl_pci_start+0x19/0x190 [rtl_pci] [ 7612.095705] [] rtl_op_start+0x56/0x90 [rtlwifi] [ 7612.095712] [] drv_start+0x36/0xc0 [ 7612.095717] [] ieee80211_do_open+0x2d3/0x890 [ 7612.095725] [] ? call_netdevice_notifiers_info+0x2e/0x60 [ 7612.095730] [] ieee80211_open+0x4d/0x50 [ 7612.095736] [] __dev_open+0xa3/0x130 [ 7612.095742] [] ? _raw_spin_unlock_bh+0x13/0x20 [ 7612.095748] [] __dev_change_flags+0x89/0x140 [ 7612.095753] [] ? selinux_capable+0xd/0x10 [ 7612.095759] [] dev_change_flags+0x29/0x60 [ 7612.095765] [] devinet_ioctl+0x553/0x670 [ 7612.095772] [] ? _copy_to_user+0x28/0x40 [ 7612.095777] [] inet_ioctl+0x85/0xb0 [ 7612.095783] [] sock_ioctl+0x67/0x260 [ 7612.095788] [] ? sock_fasync+0x80/0x80 [ 7612.095795] [] do_vfs_ioctl+0x6b/0x550 [ 7612.095800] [] ? selinux_file_ioctl+0x102/0x1e0 [ 7612.095807] [] ? timekeeping_suspend+0x294/0x320 [ 7612.095813] [] ? __hrtimer_run_queues+0x14a/0x210 [ 7612.095820] [] ? security_file_ioctl+0x34/0x50 [ 7612.095827] [] SyS_ioctl+0x70/0x80 [ 7612.095832] [] do_fast_syscall_32+0x84/0x120 [ 7612.095839] [] sysenter_past_esp+0x36/0x55 [ 7612.095844] ---[ end trace 97e9c637a20e8348 ]--- Signed-off-by: Wang YanQing Cc: Stable Acked-by: Larry Finger --- Changes: v1-v2: 1: add a Cc to stable. drivers/net/wireless/realtek/rtlwifi/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c index 1ac41b8..99a3a03 100644 --- a/drivers/net/wireless/realtek/rtlwifi/pci.c +++ b/drivers/net/wireless/realtek/rtlwifi/pci.c @@ -1572,7 +1572,7 @@ int rtl_pci_reset_trx_ring(struct ieee80211_hw *hw) true, HW_DESC_TXBUFF_ADDR), skb->len, PCI_DMA_TODEVICE); - kfree_skb(skb); + dev_kfree_skb_irq(skb); ring->idx = (ring->idx + 1) % ring->entries; } ring->idx = 0;