From patchwork Tue Jan 17 23:15:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 9522155 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2FF3F6020B for ; Tue, 17 Jan 2017 23:15:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2A4A6284E8 for ; Tue, 17 Jan 2017 23:15:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1ED9B28569; Tue, 17 Jan 2017 23:15:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 919A6284E8 for ; Tue, 17 Jan 2017 23:15:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751694AbdAQXPo (ORCPT ); Tue, 17 Jan 2017 18:15:44 -0500 Received: from mail-pf0-f194.google.com ([209.85.192.194]:33265 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751688AbdAQXPm (ORCPT ); Tue, 17 Jan 2017 18:15:42 -0500 Received: by mail-pf0-f194.google.com with SMTP id e4so6763481pfg.0 for ; Tue, 17 Jan 2017 15:15:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thegavinli.com; s=google; h=sender:from:to:cc:subject:date:message-id; bh=nJjO4raZcLCyVINepFsxDsE79rTzs4qjI382MTRJGK8=; b=Jc9dWEE23KTTOiPJgrPQhCLla1RPtiW1LrRqNI1ajQEjXxzHwQF+UMGkna9kpdN+UQ bMyHSyt7z/jYE+TKt8qxHMcgkgKLX59Uy8alZe0aIQkidlL3fYLGDoHePGakQjNWAsML 42o8xW0h+jx/EA7K5eQkFTa2/8QFQhNjXm5x8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=nJjO4raZcLCyVINepFsxDsE79rTzs4qjI382MTRJGK8=; b=F+LleiGj0v4pYbpyXRL/xQyAQjatuiwhdlfA8TOD6wZuVowyYUK4HUgNWjNyvOlwOB nYscmOHqMwEmpbPe+KvS4WOhUkF5TjxDEIdlsxOdeCbvXPgqOW2OyREgV5crvF+LGHCw UXyiYWg1LPQHTGlGMKOOnyGYawx2z2O4QMH+VUdy1ra9tPEcqky7TF9DlEzRAB1Um00g /bbRmtyf2lZWl9wlQkrkvm2KKEmlf/jHyPwRZtyebdJITUHpFwoEELR6Eym6t9RRFwR/ 0Xa5hKw37p0E3b4vX7BprpJcOWEfb/E0MqdL/UK0PGh+oHplzGe8+mH1vw1GHkLvz0/i wG7A== X-Gm-Message-State: AIkVDXIPB++WJZm9oAAET2151MIEV800A1cwoveqIotK0nymy8pFDYW+AD1JzxQUdkuZ7Q== X-Received: by 10.98.8.11 with SMTP id c11mr150221pfd.135.1484694942080; Tue, 17 Jan 2017 15:15:42 -0800 (PST) Received: from localhost.localdomain ([2601:645:c000:efa:caf7:33ff:feb9:3269]) by smtp.gmail.com with ESMTPSA id w76sm52542274pfd.74.2017.01.17.15.15.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Jan 2017 15:15:41 -0800 (PST) From: gavinli@thegavinli.com To: arend.vanspriel@broadcom.com, franky.lin@broadcom.com, hante.meuleman@broadcom.com, linux-wireless@vger.kernel.org, brcm80211-dev-list.pdl@broadcom.com Cc: stable@vger.kernel.org, Gavin Li Subject: [PATCH] brcmfmac: fix incorrect event channel deduction Date: Tue, 17 Jan 2017 15:15:34 -0800 Message-Id: <20170117231534.7099-1-gavinli@thegavinli.com> X-Mailer: git-send-email 2.11.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Gavin Li brcmf_sdio_fromevntchan() was being called on the the data frame rather than the software header, causing some frames to be mischaracterized as on the event channel rather than the data channel. This fixes a major performance regression (due to dropped packets). Fixes: c56caa9db8ab ("brcmfmac: screening firmware event packet") Signed-off-by: Gavin Li Cc: [4.7+] --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c index dfb0658713d9..d2219885071f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -1661,7 +1661,7 @@ static u8 brcmf_sdio_rxglom(struct brcmf_sdio *bus, u8 rxseq) pfirst->len, pfirst->next, pfirst->prev); skb_unlink(pfirst, &bus->glom); - if (brcmf_sdio_fromevntchan(pfirst->data)) + if (brcmf_sdio_fromevntchan(&dptr[SDPCM_HWHDR_LEN])) brcmf_rx_event(bus->sdiodev->dev, pfirst); else brcmf_rx_frame(bus->sdiodev->dev, pfirst,