From patchwork Mon Oct 25 19:46:33 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ron Mercer X-Patchwork-Id: 69135 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 83ED3B70AF for ; Tue, 26 Oct 2010 06:58:38 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757588Ab0JYT6e (ORCPT ); Mon, 25 Oct 2010 15:58:34 -0400 Received: from cain.qlogic.com ([198.70.193.223]:61716 "EHLO cain.qlc.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757502Ab0JYT6d (ORCPT ); Mon, 25 Oct 2010 15:58:33 -0400 Received: from linux-ox1b.qlogic.com (linux-ox1b.qlogic.org [172.17.139.21]) by cain.qlc.com (8.13.7+Sun/8.12.10) with ESMTP id o9PJwUG6005747; Mon, 25 Oct 2010 12:58:30 -0700 (PDT) Received: by linux-ox1b.qlogic.com (Postfix, from userid 1000) id AE5BC2C6A0; Mon, 25 Oct 2010 12:46:33 -0700 (PDT) Date: Mon, 25 Oct 2010 12:46:33 -0700 From: Ron Mercer To: David Miller Cc: "netdev@vger.kernel.org" , Jitendra Kalsaria , Ying Ping Lok Subject: Re: [net-next PATCH 1/3] qlge: Restoring the vlan setting. Message-ID: <20101025194632.GA3545@linux-ox1b.qlogic.org> Mail-Followup-To: David Miller , "netdev@vger.kernel.org" , Jitendra Kalsaria , Ying Ping Lok References: <1288023473-31490-1-git-send-email-ron.mercer@qlogic.com> <1288023473-31490-2-git-send-email-ron.mercer@qlogic.com> <20101025.120739.104054830.davem@davemloft.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20101025.120739.104054830.davem@davemloft.net> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From 4981e8d94411b282040bcee89f08e16eef5c608c Mon Sep 17 00:00:00 2001 From: Ron Mercer Date: Mon, 25 Oct 2010 12:38:33 -0700 Subject: [net-next PATCH 1/3] qlge: Restoring the vlan setting. Signed-off-by: Jitendra Kalsaria Signed-off-by: Ron Mercer --- drivers/net/qlge/qlge_main.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index ba0053d..5077d38 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c @@ -2382,6 +2382,20 @@ static void qlge_vlan_rx_kill_vid(struct net_device *ndev, u16 vid) } +static void qlge_restore_vlan(struct ql_adapter *qdev) +{ + qlge_vlan_rx_register(qdev->ndev, qdev->vlgrp); + + if (qdev->vlgrp) { + u16 vid; + for (vid = 0; vid < VLAN_N_VID; vid++) { + if (!vlan_group_get_device(qdev->vlgrp, vid)) + continue; + qlge_vlan_rx_add_vid(qdev->ndev, vid); + } + } +} + /* MSI-X Multiple Vector Interrupt Handler for inbound completions. */ static irqreturn_t qlge_msix_rx_isr(int irq, void *dev_id) { @@ -3957,6 +3971,9 @@ static int ql_adapter_up(struct ql_adapter *qdev) clear_bit(QL_PROMISCUOUS, &qdev->flags); qlge_set_multicast_list(qdev->ndev); + /* Restore vlan setting. */ + qlge_restore_vlan(qdev); + ql_enable_interrupts(qdev); ql_enable_all_completion_interrupts(qdev); netif_tx_start_all_queues(qdev->ndev);