From patchwork Wed Jul 14 05:54:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: amit salecha X-Patchwork-Id: 58841 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 A0FAB1007D3 for ; Wed, 14 Jul 2010 15:55:28 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751399Ab0GNFyz (ORCPT ); Wed, 14 Jul 2010 01:54:55 -0400 Received: from mvnat01.qlogic.com ([198.186.3.73]:39795 "HELO unm84.unmin.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with SMTP id S1750959Ab0GNFyx (ORCPT ); Wed, 14 Jul 2010 01:54:53 -0400 Received: by unm84.unmin.com (Postfix, from userid 787) id 4248FE8B4F; Tue, 13 Jul 2010 22:54:53 -0700 (PDT) From: amit.salecha@qlogic.com To: davem@davemloft.net Cc: netdev@vger.kernel.org, ameen.rahman@qlogic.com, Rajesh Borundia , Amit Kumar Salecha Subject: [PATCHv2 NEXT 1/5] qlcnic: fix pause params setting Date: Tue, 13 Jul 2010 22:54:49 -0700 Message-Id: <1279086893-22523-2-git-send-email-amit.salecha@qlogic.com> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1279086893-22523-1-git-send-email-amit.salecha@qlogic.com> References: <1279086893-22523-1-git-send-email-amit.salecha@qlogic.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Rajesh Borundia Turning off rx pause param and autoneg param is not supported so return error in that case. Signed-off-by: Rajesh Borundia Signed-off-by: Amit Kumar Salecha --- drivers/net/qlcnic/qlcnic_ethtool.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index baf5a52..8599993 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c @@ -578,8 +578,13 @@ qlcnic_set_pauseparam(struct net_device *netdev, } QLCWR32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, val); } else if (adapter->ahw.port_type == QLCNIC_XGBE) { + + if (!pause->rx_pause || pause->autoneg) + return -EOPNOTSUPP; + if ((port < 0) || (port > QLCNIC_NIU_MAX_XG_PORTS)) return -EIO; + val = QLCRD32(adapter, QLCNIC_NIU_XG_PAUSE_CTL); if (port == 0) { if (pause->tx_pause)