From patchwork Fri Apr 25 15:05:43 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 4063831 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.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 416F3BFF02 for ; Fri, 25 Apr 2014 15:06:28 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6288720381 for ; Fri, 25 Apr 2014 15:06:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 967A72037A for ; Fri, 25 Apr 2014 15:06:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751236AbaDYPGW (ORCPT ); Fri, 25 Apr 2014 11:06:22 -0400 Received: from mail-ob0-f179.google.com ([209.85.214.179]:45038 "EHLO mail-ob0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751063AbaDYPGV (ORCPT ); Fri, 25 Apr 2014 11:06:21 -0400 Received: by mail-ob0-f179.google.com with SMTP id vb8so4434124obc.10 for ; Fri, 25 Apr 2014 08:06:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id; bh=byA2w3dYUy+/QZ56Le9NYUDnoHgNRYo7UtP4oPrdFEY=; b=f+rlg9yXgkk2t9ONoi/sBrXaY4wr/sL8rMAxaKJu9K13ggsd9b7dBNjJ3XdZvAgbDF jd5c7NRw8Lh4Ti312mEJOEnmHEO+TLb2q1zu52R5O3CkhYN11YeDSxH0eJkcx/O9Nb7K nTY2B3YAoaZcAYJezQ8rydecomyk3Fs4jYeijVIccuHiY1Z3GNFrtJMT82BpnOZ74PCQ EqCs5OwKT3vRMfRag9PMebvP8JequJYtNAauq1lZ2eEDbSuJxC+NdXhyo6sV+zDQhb5c f43zBfnLl4W4LU8VDCYeXxB5DrrVeMCznV29D6Gg9ktTFQGLvSEOmvCMGiREoqk1CAs2 ZcSg== X-Received: by 10.60.131.40 with SMTP id oj8mr7309326oeb.14.1398438380507; Fri, 25 Apr 2014 08:06:20 -0700 (PDT) Received: from larrylap2.site (cpe-69-76-245-152.kc.res.rr.com. [69.76.245.152]) by mx.google.com with ESMTPSA id f9sm16054317obm.2.2014.04.25.08.06.19 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Apr 2014 08:06:20 -0700 (PDT) From: Larry Finger To: linville@tuxdriver.com Cc: linux-wireless@vger.kernel.org, Larry Finger , Stable Subject: [PATCH] rtlwifi: rtl8192se: Fix regression due to commit 1bf4bbb Date: Fri, 25 Apr 2014 10:05:43 -0500 Message-Id: <1398438343-1788-1-git-send-email-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 1.8.4.5 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham 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 Beginning with kernel 3.13, this driver fails on some systems. The problem was bisected to: Commit 1bf4bbb4024dcdab5e57634dd8ae1072d42a53ac Author: Felix Fietkau Title: mac80211: send control port protocol frames to the VO queue There is noting wrong with the above commit. The regression occurs because V0 queue on RTL8192SE cards uses priority 6, not the usual 7. The fix is to modify the rtl8192se routine that sets the correct transmit queue. Bug: https://bugzilla.kernel.org/show_bug.cgi?id=74541 Reported-by: Alex Miller Tested-by: Alex Miller Signed-off-by: Larry Finger Cc: Stable [3.13+] --- drivers/net/wireless/rtlwifi/rtl8192se/trx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c index 36b48be..2b3c78b 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c @@ -49,6 +49,12 @@ static u8 _rtl92se_map_hwqueue_to_fwqueue(struct sk_buff *skb, u8 skb_queue) if (ieee80211_is_nullfunc(fc)) return QSLT_HIGH; + /* Kernel commit 1bf4bbb4024dcdab changed EAPOL packets to use + * queue V0 at priority 7; however, the RTL8192SE appears to have + * that queue at priority 6 + */ + if (skb->priority == 7) + return QSLT_VO; return skb->priority; }