Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2100189ybl; Thu, 30 Jan 2020 11:21:20 -0800 (PST) X-Google-Smtp-Source: APXvYqx8e78QKBq6W3QTlWzXSIgBjMIUAOd2TLOA7fOsSsffq10dpB/wk3dZRmPWLxLT8vF/CRXh X-Received: by 2002:a05:6830:1317:: with SMTP id p23mr4851591otq.3.1580412080334; Thu, 30 Jan 2020 11:21:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580412080; cv=none; d=google.com; s=arc-20160816; b=XTdz3aLlLmu9tV7AmKxwekkkGPu+I3WaJqWpO08UcpwgNZhKUZRaeDTjOUUiEkVt1N f06rWpI932d1uSGASoLonF6I7yYqaOpabbtQopnJfAuiHopkvAMlpSrCDKZLCm0lZURo ADCssgfmmclS5ycK4+Tnt96B7kSdwhed8dF2NXScdQ5oeUH4e3N+9t4r6QMsMZEHyuaP SMByVHfjgQ4hXRRWlV0OGJs1lPgNdKmIvS80KuNDiR+oF5D5hxH+zffFLe5h+4c7ecFO B0sZQrxP20lSjwlemK/bywpthwQO8v7i+9z3ex28hzmBLX+cmJxeIgrZPGW1zmNQmyyy z9ew== 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=ArvkKtdCPuUzp1Gi3WlXCrFYcjkyZ23d+OG5pHLMLiI=; b=SJjQLs8U6gosJrthztUAasC8NQHl/cqEpp5PyD8C3DPOcHO2B5iKFM8YXcRLX2Lovn 8NZTJf1tsAIkMipMq5n4I5AfKu1xEjeYD8Rgk/3JYw3yyYK5DMSBAPSHsbOki44Au5Ty 3A+/JHtlYdE0ckJHlrTqh9K+q+35Dn1i+wWla/aNSrzEgNyR9AG1aitRTTu9b/sHrXwF RhPqlxLgtoQZsF0bai8skIGW4bFW5FVLSe1MktDIMX++7VqPHZgw6+3iYsgXNwnBAFu2 X0t0h5AHIGR9G4vLV3e3pnySSSBGmBUe70hiU4UYpdWF3+0xmSuWbOlaiM3RJxqSzizd bwmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=r6qVhIKJ; 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 l26si3732545otd.143.2020.01.30.11.21.08; Thu, 30 Jan 2020 11:21:20 -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=r6qVhIKJ; 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 S1731491AbgA3SsH (ORCPT + 99 others); Thu, 30 Jan 2020 13:48:07 -0500 Received: from mail.kernel.org ([198.145.29.99]:58836 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728108AbgA3SsA (ORCPT ); Thu, 30 Jan 2020 13:48:00 -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 523E422522; Thu, 30 Jan 2020 18:47:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580410079; bh=VCEHbHeOb25vItQmcOqdlf5+SeUhC0e+lxaC6DddWZQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r6qVhIKJTeoc8P0Qqv0ChnKjco38B86Tv1FItej6ZW8yFW6wMvpitoNahcTm1FxGc B5grDqEtLMLRoYBI44fj1TjA5ZvHxoucuUstgACOk7tjin5aJnohyvkfoBmaho8xpt CHnO3sMuKFxTlhfeKWJ554eCUvWeMdBoXCMLFz6Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Malcolm Priestley Subject: [PATCH 4.19 11/55] staging: vt6656: use NULLFUCTION stack on mac80211 Date: Thu, 30 Jan 2020 19:38:52 +0100 Message-Id: <20200130183610.869343596@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200130183608.563083888@linuxfoundation.org> References: <20200130183608.563083888@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 @@ -978,6 +978,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);