From patchwork Tue Jan 17 22:55:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 9522105 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 72953601C3 for ; Tue, 17 Jan 2017 22:56:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6C589285CC for ; Tue, 17 Jan 2017 22:56:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 60611285D1; Tue, 17 Jan 2017 22:56:15 +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 0405628556 for ; Tue, 17 Jan 2017 22:56:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751162AbdAQW4K (ORCPT ); Tue, 17 Jan 2017 17:56:10 -0500 Received: from mail-pf0-f196.google.com ([209.85.192.196]:34180 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751467AbdAQWzz (ORCPT ); Tue, 17 Jan 2017 17:55:55 -0500 Received: by mail-pf0-f196.google.com with SMTP id y143so17072741pfb.1 for ; Tue, 17 Jan 2017 14:55:55 -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=RmJflcQpVOvfqpwb+GWKEDA6iUoY0DDO7X7GI8f/QHg=; b=Lb5uO2EjbRiSnXPJ0EUfJRMJpq9yZfktGyLb9VmM7Qjqi/vEGHAHGdDKl3vYXlUiGi +odXw+phqwI9T56onsGnl/S7/FcS0IhR43fuyzzG5AajhaLgFXYC22VBx0ImysUGQKFI YTbIEfRzd/PFlAvYI/FzQ/nkG20NcSBnjjCjM= 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=RmJflcQpVOvfqpwb+GWKEDA6iUoY0DDO7X7GI8f/QHg=; b=pHPSPDM5t+qDvMEIRGnnxSBEelufY8wgqcktLDqxk/fg0ECfBFeWl52KXo9N5et3Rb 3FUkdyN2sV0ln6jRkprTpENirAEsIO2BQAlOSx3X0cH99fbGItF3Qxj4caA3ZZdQYSEe 33M14iSD6s6IqjIHliVfS9GhSljuCufbj5Vm7Xfa3Y9izb86EuO0tVo3Bc8zBWUUYmzx ulTdPfwJbMgOT7LsJjxMdYjkdxMKigE2LBb/5hemT6peGnPwdZOI0S5Inz114h2L7ldy vU1FjxhLS2yVjU040XqTPBRmgjB8kKSXG6n+cEOeEUdufgBGAm37zAPvz+h+X2AUHVov eA1A== X-Gm-Message-State: AIkVDXJwPPy/bcZ6kKkvBTgQiBpBY0oQXx6p21ijiwHS5NCDFCiD/na3D9Bzsn7q9COefg== X-Received: by 10.84.198.129 with SMTP id p1mr183759pld.14.1484693755171; Tue, 17 Jan 2017 14:55:55 -0800 (PST) Received: from localhost.localdomain ([2601:645:c000:efa:caf7:33ff:feb9:3269]) by smtp.gmail.com with ESMTPSA id o126sm58446188pga.34.2017.01.17.14.55.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Jan 2017 14:55:54 -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 14:55:45 -0800 Message-Id: <20170117225545.6706-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.6+] --- 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,