Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2096915ybl; Thu, 30 Jan 2020 11:18:02 -0800 (PST) X-Google-Smtp-Source: APXvYqyh0XMAy+/wKh2QPIXf3UJWaaFs1SAhRNERQtC0GY3jNLW+vayezhrcsFtTJ0kTjTQOMdYG X-Received: by 2002:aca:b60a:: with SMTP id g10mr3851070oif.102.1580411881997; Thu, 30 Jan 2020 11:18:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580411881; cv=none; d=google.com; s=arc-20160816; b=cRYJGJ4E2N4GBgWwC0gV5brSJlF7zEoptrnsXo+SMVlLBhHYIH+RfXh5ptRYNCciGD i7ynqWSLKNPmqzxUz7yuGfzloLEcBMoibASGs0UaRpiMsCLpaStMPR+fHyvQ0REiowf0 yH7gtyt8l3zRX/JN8+0Yx/WYTi+cb0U9sjQyV8Kk4tkTK13fJb9rCIp914TXlK2M0S9e vfsWqaBzNX2qocsai4oJeg5bDC22kIn7fC0ApcWHYidMGiW1roktwouEfMfcTR+NSB7S eRqXoTZoIqAVIsyctCH17F7/fP3BzZnU6tzncq/ldUzht42gMVp+t0bsDTvXkFX5FRp9 +sXA== 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=vdXfGaHnwBY2cf9H3fpeecXJXHPy8GkPcw9wF3zV06g=; b=taO4rzPis4uIgZ8G/Q+K6m2rlCFpM4t6JwdoluRjgLA16rQBq8Qt2Hs3tShEQbC4zQ SLx2xZcnKm8WV2bfTbLNZ23aQpi22r3Vicjtqke3t5msGDfIP+mdrQmSigAH5oQC8i7a 2LcaHnoxtolO4tA4Fqt21qeXVjSONEH0aHt9EZIhuw3jPn6ndDSt48PI4uT22fFdaOGo jXqDPsEL1ngkLLO27CVfBWJNI3zYogHYs98VXYwSShIgiEsuclJ8uX9q9M6+5U5oG714 Z5fTEx6CKpU3I7ImhxfLxm2WaRmkymqJ498GpnB+vmmk9etsRSi4DNGu7mRpkCm/msBX dhnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="Z/UIPkyz"; 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 y6si2954711oih.217.2020.01.30.11.17.50; Thu, 30 Jan 2020 11:18:01 -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="Z/UIPkyz"; 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 S1730775AbgA3SoI (ORCPT + 99 others); Thu, 30 Jan 2020 13:44:08 -0500 Received: from mail.kernel.org ([198.145.29.99]:53106 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730747AbgA3SoG (ORCPT ); Thu, 30 Jan 2020 13:44:06 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 18AF02082E; Thu, 30 Jan 2020 18:44:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580409846; bh=z8lWtyzj+6hHN7Ig4Hld+sC+QA/5doNZQ7wqq7S5G5E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Z/UIPkyzNLcndPc/PYBPR8yfQ9Gc0f6Y5VFCXaTgMcSPbD8WteG7Wg5ZqMBnsIV35 CAa2YUthU7CinedjqjPG6gPzyNCsBcg5ZGdNw7+otLQOXiBvJlNLevOmfGJbw9cHr6 27WYNOPsRPlGRb9/VMClLk9NbYwIPDPnCYPKvw0o= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Malcolm Priestley Subject: [PATCH 5.4 015/110] staging: vt6656: use NULLFUCTION stack on mac80211 Date: Thu, 30 Jan 2020 19:37:51 +0100 Message-Id: <20200130183616.432297127@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200130183613.810054545@linuxfoundation.org> References: <20200130183613.810054545@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 @@ -1016,6 +1016,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 @@ -278,11 +278,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); @@ -371,10 +369,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);