From patchwork Tue Dec 6 12:05:12 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Kravkov X-Patchwork-Id: 129641 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 198E81007D4 for ; Tue, 6 Dec 2011 23:05:28 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933434Ab1LFMFW (ORCPT ); Tue, 6 Dec 2011 07:05:22 -0500 Received: from mms3.broadcom.com ([216.31.210.19]:2139 "EHLO MMS3.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933238Ab1LFMFV (ORCPT ); Tue, 6 Dec 2011 07:05:21 -0500 Received: from [10.9.200.131] by MMS3.broadcom.com with ESMTP (Broadcom SMTP Relay (Email Firewall v6.3.2)); Tue, 06 Dec 2011 04:12:27 -0800 X-Server-Uuid: B55A25B1-5D7D-41F8-BC53-C57E7AD3C201 Received: from mail-irva-13.broadcom.com (10.11.16.103) by IRVEXCHHUB01.corp.ad.broadcom.com (10.9.200.131) with Microsoft SMTP Server id 8.2.247.2; Tue, 6 Dec 2011 04:05:08 -0800 Received: from lb-tlvb-dmitry.broadcom.com ( lb-tlvb-dmitry.il.broadcom.com [10.185.7.55]) by mail-irva-13.broadcom.com (Postfix) with ESMTP id DFC21BC394; Tue, 6 Dec 2011 04:05:06 -0800 (PST) From: "Dmitry Kravkov" To: davem@davemloft.net, netdev@vger.kernel.org cc: "Dmitry Kravkov" , "Eilon Greenstein" Subject: [PATCH net-next] bnx2x: fix crash while ethtool -t Date: Tue, 6 Dec 2011 14:05:12 +0200 Message-ID: <1323173112-30577-1-git-send-email-dmitry@broadcom.com> X-Mailer: git-send-email 1.7.7.2 MIME-Version: 1.0 X-WSS-ID: 62C0D9215042267353-01-01 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org commit 2df1a70aaf70e8dff11b89b938a5f317556ee640 "bnx2x: Support for byte queue limits" has introduced an asymmetry in usage of netdev_tx_completed_queue and netdev_tx_sent_queue. Missing call to netdev_tx_sent_queue causes the crash during ethtool -t. The patch adds the missing call. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein --- .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c index c679ed9..0b4b1d3 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c @@ -1741,6 +1741,7 @@ static int bnx2x_run_loopback(struct bnx2x *bp, int loopback_mode) u16 len; int rc = -ENODEV; u8 *data; + struct netdev_queue *txq = netdev_get_tx_queue(bp->dev, txdata->txq_index); /* check the loopback mode */ switch (loopback_mode) { @@ -1795,6 +1796,8 @@ static int bnx2x_run_loopback(struct bnx2x *bp, int loopback_mode) tx_start_idx = le16_to_cpu(*txdata->tx_cons_sb); rx_start_idx = le16_to_cpu(*fp_rx->rx_cons_sb); + netdev_tx_sent_queue(txq, skb->len); + pkt_prod = txdata->tx_pkt_prod++; tx_buf = &txdata->tx_buf_ring[TX_BD(pkt_prod)]; tx_buf->first_bd = txdata->tx_bd_prod;