From patchwork Fri Nov 9 12:19:47 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oliver Neukum X-Patchwork-Id: 198031 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 230F32C02BC for ; Fri, 9 Nov 2012 23:19:50 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752750Ab2KIMTs (ORCPT ); Fri, 9 Nov 2012 07:19:48 -0500 Received: from smtp-out002.kontent.com ([81.88.40.216]:42854 "EHLO smtp-out002.kontent.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752262Ab2KIMTr (ORCPT ); Fri, 9 Nov 2012 07:19:47 -0500 Received: from localhost.localdomain (78.Red-88-2-49.staticIP.rima-tde.net [88.2.49.78]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: neukum_org@smtp-out002.kontent.com) by smtp-out002.kontent.com (Postfix) with ESMTPSA id B269D10038089; Fri, 9 Nov 2012 13:19:44 +0100 (CET) From: Oliver Neukum To: davem@davemloft.net, netdev@vger.kernel.org Cc: Oliver Neukum , Oliver Neukum Subject: [PATCH] kaweth:BQL support Date: Fri, 9 Nov 2012 13:19:47 +0100 Message-Id: <1352463587-23899-1-git-send-email-oliver@neukum.org> X-Mailer: git-send-email 1.7.7 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This adds the callbacks for the statistics necessary for BQL Signed-off-by: Oliver Neukum --- drivers/net/usb/kaweth.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c index afb117c..f30e07f 100644 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c @@ -715,6 +715,7 @@ static int kaweth_open(struct net_device *net) usb_kill_urb(kaweth->rx_urb); goto err_out; } + netdev_reset_queue(net); kaweth->opened = 1; netif_start_queue(net); @@ -783,6 +784,7 @@ static void kaweth_usb_transmit_complete(struct urb *urb) { struct kaweth_device *kaweth = urb->context; struct sk_buff *skb = kaweth->tx_skb; + struct net_device *net = kaweth->net; int status = urb->status; if (unlikely(status != 0)) @@ -790,7 +792,8 @@ static void kaweth_usb_transmit_complete(struct urb *urb) dev_dbg(&urb->dev->dev, "%s: TX status %d.\n", kaweth->net->name, status); - netif_wake_queue(kaweth->net); + netif_wake_queue(net); + netdev_completed_queue(net, 1, skb->len - 2); dev_kfree_skb_irq(skb); } @@ -854,6 +857,7 @@ skip: { kaweth->stats.tx_packets++; kaweth->stats.tx_bytes += skb->len; + netdev_sent_queue(net, skb->len - 2); } spin_unlock_irq(&kaweth->device_lock);