From patchwork Wed Jul 14 00:49:52 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyas Bhatewara X-Patchwork-Id: 58829 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 68C571007D4 for ; Wed, 14 Jul 2010 10:50:17 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753551Ab0GNAty (ORCPT ); Tue, 13 Jul 2010 20:49:54 -0400 Received: from smtp-outbound-1.vmware.com ([65.115.85.69]:54798 "EHLO smtp-outbound-1.vmware.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752347Ab0GNAtw (ORCPT ); Tue, 13 Jul 2010 20:49:52 -0400 Received: from mailhost3.vmware.com (mailhost3.vmware.com [10.16.27.45]) by smtp-outbound-1.vmware.com (Postfix) with ESMTP id CB3C824003; Tue, 13 Jul 2010 17:49:52 -0700 (PDT) Received: from promb-1s-dhcp85.eng.vmware.com (promb-1s-dhcp85.eng.vmware.com [10.20.84.85]) by mailhost3.vmware.com (Postfix) with ESMTP id BDA67CD903; Tue, 13 Jul 2010 17:49:52 -0700 (PDT) Date: Tue, 13 Jul 2010 17:49:52 -0700 (PDT) From: Shreyas Bhatewara X-X-Sender: sbhatewara@localhost.localdomain To: netdev@vger.kernel.org cc: linux-kernel@vger.kernel.org, pv-drivers@vmware.com, ronghua@vmware.com, matthieu@vmware.com Subject: [PATCH 2.6.35-rc1] net-next: vmxnet3 fixes [4/5] Do not reset when the device is not opened In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (LRH 1167 2008-08-23) MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Do not reset when the device is not opened If a reset is scheduled, and the device goes thru close and open, it may happen that reset and open may run in parallel. The reset code now bails out if the device is not opened. Signed-off-by: Ronghua Zang Signed-off-by: Matthieu Bucchianeri Signed-off-by: Shreyas Bhatewara --- drivers/net/vmxnet3/vmxnet3_drv.c | 5 +++-- 1 files changed, 3 insertions(+), 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/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index 1e31d40..ffd6a9b 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c @@ -2417,8 +2417,9 @@ vmxnet3_reset_work(struct work_struct *data) if (test_and_set_bit(VMXNET3_STATE_BIT_RESETTING, &adapter->state)) return; - /* if the device is closed, we must leave it alone */ - if (netif_running(adapter->netdev)) { + /* if the device is closed or is being opened, we must leave it alone */ + if (netif_running(adapter->netdev) && + (adapter->netdev->flags & IFF_UP)) { printk(KERN_INFO "%s: resetting\n", adapter->netdev->name); vmxnet3_quiesce_dev(adapter); vmxnet3_reset_dev(adapter);