From patchwork Tue Jan 17 22:50:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 9522109 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 659FF601C3 for ; Tue, 17 Jan 2017 22:57:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 60AA128556 for ; Tue, 17 Jan 2017 22:57:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 52791285D1; Tue, 17 Jan 2017 22:57:07 +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 DF67528556 for ; Tue, 17 Jan 2017 22:57:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751157AbdAQW47 (ORCPT ); Tue, 17 Jan 2017 17:56:59 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:33031 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751060AbdAQW46 (ORCPT ); Tue, 17 Jan 2017 17:56:58 -0500 Received: by mail-pg0-f66.google.com with SMTP id 194so9039143pgd.0 for ; Tue, 17 Jan 2017 14:56:58 -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=Tm8CtAby8ogLwWQyW9ARogMU9TZ0Y9nVxqiOwSLEiC2bWZT3BiXBaYeHtoImW+Utsc X0P5Sj5xxt1igKfCBIDHp4+l4GCzQhzMmFV758Zeu2MO4jPj/5we/CfkR06rJeccDuyg hj/VQeJaapxzsrqZjfoKwE6WL+9clLGIaPmys= 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=OjBiSzHkcwr8IhYOvxpjlzN2u6mfWzkW+ImvryZ4Z8XrOGPGowbVU/csFQ4yYDzGqc YbRqk234prTvf7m164s+mhmIEYlIcZ9au8BoLpDLQb0hzrPTZUBfZlp45V5V4aQAlMv1 tYYFF8ueaf8hQsV895fb83cRrsvK4tP0PL/XnRZQK1cYCF5bkYwIQcWbzUB9IiQTJNCT UpC3QoQJ5BXNOl08LcXQPSmU6t0v+w7SjHXWyQ1R6/6mKGuHUOe7E8FcMIi1r/pwZfad sesTLlQxidFf/N6LZSwt7BJbDcP9GRB5Pw+G84IWlquFhszVDspuMA/OzoQXyRLG58nF kldw== X-Gm-Message-State: AIkVDXJipcALrCYzsQG420CZ+XWJKYDBlgFA4vC6OjzlnjZJwznYV64kqqMUu3eM+Mr6MQ== X-Received: by 10.99.156.2 with SMTP id f2mr120744pge.20.1484693417908; Tue, 17 Jan 2017 14:50:17 -0800 (PST) Received: from localhost.localdomain ([2601:645:c000:efa:caf7:33ff:feb9:3269]) by smtp.gmail.com with ESMTPSA id y201sm15736048pfb.16.2017.01.17.14.50.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Jan 2017 14:50:17 -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:50:00 -0800 Message-Id: <20170117225000.6394-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,