Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp4023360ybl; Mon, 3 Feb 2020 11:03:27 -0800 (PST) X-Google-Smtp-Source: APXvYqy3rDNtycYkMYlVXAPWfo7VF4/QYiDkmcmJNK4VYl9oJeNi3qVYk1LMAx23YswcABQNWdvm X-Received: by 2002:a05:6830:1d4c:: with SMTP id p12mr19353234oth.198.1580756607699; Mon, 03 Feb 2020 11:03:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580756607; cv=none; d=google.com; s=arc-20160816; b=aiHxggJ3hk8kCnBLwnCHFGXbcUNUETJjpcpCIMm3pznZ6lbWXeAnk1lVE6hNOpgsVx LhDl/2z7atBnfqZe5Q1GIY4pbPqRlaoihSIz11k1hDfdYlCobR4SocpGyxsQ6lJmFgaE Hink83Sh3xROutKRW9txg2X5iuzN4kJoL3pklSQRnupK5RDXTJswKdfQ/g0xJ0Dsxfmt ljhkTd6vEncSrn2qp64zbRyKuYsN77ULl3F1APX8B+TrXZphEVXKzLgm8v8e5oIgcQG6 9PjmuJVcbmHogrId4DHXYJEilK5lpZGbDWdhH+Bul40mOQLd0E0XOaDhyBlurCgIj0Tt 30UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=wDmS+7oIWZDrywAuxe5YXehTvHDofCSn5AJtsHaEMzY=; b=xT/C8TkBnGeAvg426QfLZwQGuQ3InvG8i5SXC/kFG8REBL2MpQbrm5i+Tes5oZGVG2 eR4tS829os/ilWYWN78mtARRQzH1HP9fTELfn1ZjXX03WWuBUh4hYJcOpgLzTjd0h1Rs nh0xhHX/qT3xQ1k7HJ+8dT4CcHRzdCe/GFT4tiGuovAFFTK3mvUyg+ftsR27GOcQHM9J PZDQn2fN5XlQ+rqTykfaiHUGYWLl/vUbYBzSv5Qcd1MLU389icFuuOdfoEFU0ew+BVvD id9UejPYKySoD0izyfL0j7eQ6hPftt1MGyyu8UI2tL1VqiVaW6VKHhobMLVIN2WITOJT xR6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=r9Nzw0Bj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 38si10471665otu.166.2020.02.03.11.03.15; Mon, 03 Feb 2020 11:03:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=r9Nzw0Bj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729225AbgBCQ0i (ORCPT + 99 others); Mon, 3 Feb 2020 11:26:38 -0500 Received: from mail.kernel.org ([198.145.29.99]:37628 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727672AbgBCQ0g (ORCPT ); Mon, 3 Feb 2020 11:26:36 -0500 Received: from localhost (unknown [104.132.45.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 94D042051A; Mon, 3 Feb 2020 16:26:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580747196; bh=bYrPaXwOWdfPDci+/9/1/dgerrTDLlxE+CfpNpAri/Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r9Nzw0BjVa/vwyj3rKyvUSrjkuBknqZvyALUb4+OTyrieJlWwWcYDPcMWos4w5FcH ieOLY5r1FMAgaxv+tSl7NzUsdbTDWcCfnb9h0wAnQSkxKPJLfBABhDkbZa7Hn1JRGA 9/Ls3vAnjAN8Yhr3/9hh4BZr27ECIMLm+eittNXo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Malcolm Priestley Subject: [PATCH 4.9 10/68] staging: vt6656: use NULLFUCTION stack on mac80211 Date: Mon, 3 Feb 2020 16:19:06 +0000 Message-Id: <20200203161906.572491274@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200203161904.705434837@linuxfoundation.org> References: <20200203161904.705434837@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Malcolm Priestley commit d579c43c82f093e63639151625b2139166c730fd upstream. It appears that the drivers does not go into power save correctly the NULL data packets are not being transmitted because it not enabled in mac80211. The driver needs to capture ieee80211_is_nullfunc headers and copy the duration_id to it's own duration data header. Cc: stable Signed-off-by: Malcolm Priestley Link: https://lore.kernel.org/r/610971ae-555b-a6c3-61b3-444a0c1e35b4@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vt6656/main_usb.c | 1 + drivers/staging/vt6656/rxtx.c | 14 +++++--------- 2 files changed, 6 insertions(+), 9 deletions(-) --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c @@ -995,6 +995,7 @@ vt6656_probe(struct usb_interface *intf, ieee80211_hw_set(priv->hw, RX_INCLUDES_FCS); ieee80211_hw_set(priv->hw, REPORTS_TX_ACK_STATUS); ieee80211_hw_set(priv->hw, SUPPORTS_PS); + ieee80211_hw_set(priv->hw, PS_NULLFUNC_STACK); priv->hw->max_signal = 100; --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c @@ -277,11 +277,9 @@ static u16 vnt_rxtx_datahead_g(struct vn PK_TYPE_11B, &buf->b); /* Get Duration and TimeStamp */ - if (ieee80211_is_pspoll(hdr->frame_control)) { - __le16 dur = cpu_to_le16(priv->current_aid | BIT(14) | BIT(15)); - - buf->duration_a = dur; - buf->duration_b = dur; + if (ieee80211_is_nullfunc(hdr->frame_control)) { + buf->duration_a = hdr->duration_id; + buf->duration_b = hdr->duration_id; } else { buf->duration_a = vnt_get_duration_le(priv, tx_context->pkt_type, need_ack); @@ -370,10 +368,8 @@ static u16 vnt_rxtx_datahead_ab(struct v tx_context->pkt_type, &buf->ab); /* Get Duration and TimeStampOff */ - if (ieee80211_is_pspoll(hdr->frame_control)) { - __le16 dur = cpu_to_le16(priv->current_aid | BIT(14) | BIT(15)); - - buf->duration = dur; + if (ieee80211_is_nullfunc(hdr->frame_control)) { + buf->duration = hdr->duration_id; } else { buf->duration = vnt_get_duration_le(priv, tx_context->pkt_type, need_ack);