From patchwork Tue Jul 13 09:46:56 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: amit salecha X-Patchwork-Id: 58724 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 A5490B6F14 for ; Tue, 13 Jul 2010 19:47:26 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755462Ab0GMJrH (ORCPT ); Tue, 13 Jul 2010 05:47:07 -0400 Received: from mvnat01.qlogic.com ([198.186.3.73]:5039 "HELO unm84.unmin.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with SMTP id S1755351Ab0GMJrE (ORCPT ); Tue, 13 Jul 2010 05:47:04 -0400 Received: by unm84.unmin.com (Postfix, from userid 787) id 4D8DEE8955; Tue, 13 Jul 2010 02:47:00 -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: [PATCH NEXT 1/5] qlcnic: fix pause params setting Date: Tue, 13 Jul 2010 02:46:56 -0700 Message-Id: <1279014420-8829-2-git-send-email-amit.salecha@qlogic.com> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1279014420-8829-1-git-send-email-amit.salecha@qlogic.com> References: <1279014420-8829-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)