From patchwork Sun Sep 27 08:17:39 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Malcolm Priestley X-Patchwork-Id: 7273101 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 1CD269F443 for ; Sun, 27 Sep 2015 08:18:50 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 293DF2096C for ; Sun, 27 Sep 2015 08:18:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2F56A2090E for ; Sun, 27 Sep 2015 08:18:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754698AbbI0ISV (ORCPT ); Sun, 27 Sep 2015 04:18:21 -0400 Received: from mail-wi0-f180.google.com ([209.85.212.180]:34300 "EHLO mail-wi0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753642AbbI0ISS (ORCPT ); Sun, 27 Sep 2015 04:18:18 -0400 Received: by wicfx3 with SMTP id fx3so67890538wic.1 for ; Sun, 27 Sep 2015 01:18:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=hZeYKmhoJ8RUt21hE/bhvUyDNn6/wA8xWg3TrMBaFnQ=; b=h9EYfzDXVosnz+94aXvFbWLFBKCU1KhXWWTdb91KSG/9T10zWhsIgVIDIQSrKH9ag7 dF7HlTJhqk7/xGJxEz56L3MnSWqRv/yx+IU5ZhHyh8x9/7oR8/C6X4SwX5sAqDwZmx7u miYOeRBEe/0jGuJy2+ZbyyWG1JJGQwuDRv8igVx5eL1hyHg5p6Jkid5k0P/OjLQc0rn9 wwFG0GLlpmI8WFEJUqrx24rDzU5lycHP2o/PrU6OhECNvsM4fetQaPVjyic8XC/DsNpb MryvGmVTyTa/hbCOUaf8YI2EZdvFfExZBQ988sDmCmXoLq6qx97hhWEd94ce5+ki6O8u NBqQ== X-Received: by 10.194.171.69 with SMTP id as5mr15190887wjc.137.1443341896852; Sun, 27 Sep 2015 01:18:16 -0700 (PDT) Received: from tipsey.3.home (188.31.176.126.threembb.co.uk. [188.31.176.126]) by smtp.gmail.com with ESMTPSA id o10sm11949040wia.4.2015.09.27.01.18.15 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 27 Sep 2015 01:18:16 -0700 (PDT) From: Malcolm Priestley To: gregkh@linuxfoundation.org Cc: linux-wireless@vger.kernel.org, Malcolm Priestley Subject: [PATCH 1/6] staging: vt6655: don't stop TX queue unless buffer full. Date: Sun, 27 Sep 2015 09:17:39 +0100 Message-Id: <1443341864-2756-1-git-send-email-tvboxspy@gmail.com> X-Mailer: git-send-email 2.5.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, 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 Presently the TX buffer stops while filling the buffer. However, this does not make use of the available buffer space, it also lags the speed of the TX troughtput. Only stop the queue when the buffer becomes full. The Interupt handler will start the queue again when a buffer is available. Signed-off-by: Malcolm Priestley --- drivers/staging/vt6655/device_main.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c index 326bce3..07ebdea 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c @@ -1105,6 +1105,7 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb) if (AVAIL_TD(priv, dma_idx) < 1) { spin_unlock_irqrestore(&priv->lock, flags); + ieee80211_stop_queues(priv->hw); return -ENOMEM; } @@ -1156,13 +1157,8 @@ static void vnt_tx_80211(struct ieee80211_hw *hw, { struct vnt_private *priv = hw->priv; - ieee80211_stop_queues(hw); - - if (vnt_tx_packet(priv, skb)) { + if (vnt_tx_packet(priv, skb)) ieee80211_free_txskb(hw, skb); - - ieee80211_wake_queues(hw); - } } static int vnt_start(struct ieee80211_hw *hw)