From patchwork Tue Jan 17 23:24:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 9522185 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 887806020B for ; Tue, 17 Jan 2017 23:25:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8056128532 for ; Tue, 17 Jan 2017 23:25:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7532528534; Tue, 17 Jan 2017 23:25:55 +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 0AA2228510 for ; Tue, 17 Jan 2017 23:25:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751456AbdAQXZx (ORCPT ); Tue, 17 Jan 2017 18:25:53 -0500 Received: from mail-pf0-f196.google.com ([209.85.192.196]:34860 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751433AbdAQXYT (ORCPT ); Tue, 17 Jan 2017 18:24:19 -0500 Received: by mail-pf0-f196.google.com with SMTP id f144so17095309pfa.2 for ; Tue, 17 Jan 2017 15:24:17 -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=Pupr4S9KTMDKixURjacxu4u6T4poRIyMBI4coC82cgfSkQayB4cEySPGn9pKxU2QM0 gsKLH7laofZh+6PlR4ULA8BLLRXUCHCGaVd5U43uZ+q8McOtHLKQvKK+9/a76hADDojf apDoWQQvFUbctRRD+hlU2bWU0slS0k4hljPns= 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=jPMwnL/Or45PuwkOoRbjtnFtrs5eBoNGa7P2IoWzsY07/EfZ/9AOHsgaV+zzZehBdY hWCREAGj6FIWOXPN2fNnyS4ZYseu9ple76r+Bqv+ZVfx784XsBJNSg0YILD4E57Dgp1o NN41cpD+94CkF2vtArdTBVKGeNfwxCdGZfrMM66oX/kDJooI544Lz9Sw7t0Vg9dy9ErW 4i6J+92AH+0/VH6kI+TxqhVFViCrI0mgCS/vB/tdylKoC1nF1xK8iyInYAg2P8gYfwx+ EAh7paJNMbzIS1pdrYwPOvp/UIkvhnkh2nrIaJEV57lrWVnBDu8X3YZLUYOdvXYKVMf2 IW2Q== X-Gm-Message-State: AIkVDXJyr/0+fKp1o3XNTqdU8gwa7XGG9dX8V9miTCm/shvFb6di6SU+EryzMPieZQ13zw== X-Received: by 10.99.124.17 with SMTP id x17mr224236pgc.25.1484695456723; Tue, 17 Jan 2017 15:24:16 -0800 (PST) Received: from localhost.localdomain ([2601:645:c000:efa:caf7:33ff:feb9:3269]) by smtp.gmail.com with ESMTPSA id m19sm58201083pfk.72.2017.01.17.15.24.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Jan 2017 15:24:16 -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 v3] brcmfmac: fix incorrect event channel deduction Date: Tue, 17 Jan 2017 15:24:05 -0800 Message-Id: <20170117232405.7672-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+] Acked-by: Arend van Spriel --- 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,