From patchwork Thu Dec 9 23:19:23 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Meelis Roos X-Patchwork-Id: 75012 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 DE77DB6ED0 for ; Fri, 10 Dec 2010 10:45:09 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756762Ab0LIXpC (ORCPT ); Thu, 9 Dec 2010 18:45:02 -0500 Received: from smtp2.it.da.ut.ee ([193.40.5.67]:57136 "EHLO smtp2.it.da.ut.ee" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756669Ab0LIXpB (ORCPT ); Thu, 9 Dec 2010 18:45:01 -0500 X-Greylist: delayed 1535 seconds by postgrey-1.27 at vger.kernel.org; Thu, 09 Dec 2010 18:45:01 EST Received: from math.ut.ee (math.ut.ee [193.40.36.2]) by smtp2.it.da.ut.ee (Postfix) with ESMTP id 0863173D437; Fri, 10 Dec 2010 01:19:24 +0200 (EET) Received: by math.ut.ee (Postfix, from userid 1014) id D3CB2DAF81; Fri, 10 Dec 2010 01:19:23 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by math.ut.ee (Postfix) with ESMTP id C8AE5DAF80; Fri, 10 Dec 2010 01:19:23 +0200 (EET) Date: Fri, 10 Dec 2010 01:19:23 +0200 (EET) From: Meelis Roos To: netdev@vger.kernel.org, Jouni Malinen , linux-wireless@vger.kernel.org Subject: [PATCH] fix hostap registration order Message-ID: User-Agent: Alpine 1.00 (SOC 882 2007-12-20) MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In 2.6.37-rc4, hostap_pci init gives a WARNING with backtrace telling that netif_stop_queue is called before register_netdev. Fix it by moving this call after register_netdev. Removes the warning and seems to work, but why is the call to netif_stop_queue needed at all after register_netdev? Signed-off-by: Meelis Roos diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c index b7cb165..cc760c5 100644 --- a/drivers/net/wireless/hostap/hostap_hw.c +++ b/drivers/net/wireless/hostap/hostap_hw.c @@ -3253,6 +3253,8 @@ while (0) } printk(KERN_INFO "%s: Registered netdevice %s\n", dev_info, dev->name); + netif_stop_queue(dev); + hostap_init_data(local); return dev; diff --git a/drivers/net/wireless/hostap/hostap_main.c b/drivers/net/wireless/hostap/hostap_main.c index 25a2722..0f1b202 100644 --- a/drivers/net/wireless/hostap/hostap_main.c +++ b/drivers/net/wireless/hostap/hostap_main.c @@ -100,6 +100,7 @@ struct net_device * hostap_add_interface(struct local_info *local, printk(KERN_DEBUG "%s: registered netdevice %s\n", mdev->name, dev->name); + netif_stop_queue(dev); return dev; } @@ -891,7 +892,6 @@ void hostap_setup_dev(struct net_device *dev, local_info_t *local, SET_ETHTOOL_OPS(dev, &prism2_ethtool_ops); - netif_stop_queue(dev); } static int hostap_enable_hostapd(local_info_t *local, int rtnl_locked)