From patchwork Wed Aug 18 10:42:48 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 62027 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 4A04AB70D3 for ; Wed, 18 Aug 2010 20:42:58 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752726Ab0HRKmy (ORCPT ); Wed, 18 Aug 2010 06:42:54 -0400 Received: from mail-ww0-f44.google.com ([74.125.82.44]:63825 "EHLO mail-ww0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752711Ab0HRKmx (ORCPT ); Wed, 18 Aug 2010 06:42:53 -0400 Received: by wwi17 with SMTP id 17so651276wwi.1 for ; Wed, 18 Aug 2010 03:42:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:cc :content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=2kIqy7ZNUhHIQgfBm0ukf4lOkedWUd9MuZecuZjUWXU=; b=dqirLW2Yx5XqEN4PHxVp5mrIuUApoFhs8b+xj6F/LECQPWGi3jqv1DkR2t7EQoTmL6 kyynGvUN6YPjJcl56P88YNE6nl/+qJLwN2pSrCTY16ujHvdYjLXfO0szsoMDxS/F//Cy wDggUHpwwy9+jUnF1eHEuNWsy8nMLjMQycUqM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; b=eJEBnLUKqOH3Z1yDozL8L+wYF9oJKfAkncNeXIcS8Vf8XjemWG7DRlJBD63bivU4vM TrTboTj9U5SCACeYERzNfCnNr/AitbLd0+6tKXQM1AmjGamlRDoZCEq0fJb2sqPE0v7B k8Y3qbuXQ3LVNwnBr6WcgosVjLfDiwRLkm6i0= Received: by 10.227.37.8 with SMTP id v8mr6491544wbd.180.1282128171443; Wed, 18 Aug 2010 03:42:51 -0700 (PDT) Received: from [127.0.0.1] ([85.17.35.125]) by mx.google.com with ESMTPS id a28sm94877wbe.21.2010.08.18.03.42.50 (version=SSLv3 cipher=RC4-MD5); Wed, 18 Aug 2010 03:42:50 -0700 (PDT) Subject: [PATCH] qlnic: fix a race in qlcnic_get_stats() From: Eric Dumazet To: David Miller Cc: Amit Kumar Salecha , netdev Date: Wed, 18 Aug 2010 12:42:48 +0200 Message-ID: <1282128168.2194.49.camel@edumazet-laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Dont clear netdev->stats, it might give transient wrong values to concurrent stat readers. Signed-off-by: Eric Dumazet --- drivers/net/qlcnic/qlcnic_main.c | 2 -- 1 file changed, 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c index abd7cd6..d71d44a 100644 --- a/drivers/net/qlcnic/qlcnic_main.c +++ b/drivers/net/qlcnic/qlcnic_main.c @@ -1980,8 +1980,6 @@ static struct net_device_stats *qlcnic_get_stats(struct net_device *netdev) struct qlcnic_adapter *adapter = netdev_priv(netdev); struct net_device_stats *stats = &netdev->stats; - memset(stats, 0, sizeof(*stats)); - stats->rx_packets = adapter->stats.rx_pkts + adapter->stats.lro_pkts; stats->tx_packets = adapter->stats.xmitfinished; stats->rx_bytes = adapter->stats.rxbytes + adapter->stats.lrobytes;