netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] e1000: disable polling before registering netdevice
@ 2007-06-01 17:22 Auke Kok
  2007-06-01 22:15 ` Herbert Xu
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Auke Kok @ 2007-06-01 17:22 UTC (permalink / raw)
  To: jeff; +Cc: herbert, doug.chapman, netdev, auke-jan.h.kok

To assure the symmetry of poll enable/disable in up/down, we should
initialize the netdevice to be poll_disabled at load time. Doing
this after register_netdevice leaves us open to another race, so
lets move all the netif_* calls above register_netdevice so the
stack starts out how we expect it to be.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Doug Chapman <doug.chapman@hp.com>
---

 drivers/net/e1000/e1000_main.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 9ec35b7..cf8af92 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -1142,13 +1142,16 @@ e1000_probe(struct pci_dev *pdev,
 	    !e1000_check_mng_mode(&adapter->hw))
 		e1000_get_hw_control(adapter);
 
-	strcpy(netdev->name, "eth%d");
-	if ((err = register_netdev(netdev)))
-		goto err_register;
-
 	/* tell the stack to leave us alone until e1000_open() is called */
 	netif_carrier_off(netdev);
 	netif_stop_queue(netdev);
+#ifdef CONFIG_E1000_NAPI
+	netif_poll_disable(netdev);
+#endif
+
+	strcpy(netdev->name, "eth%d");
+	if ((err = register_netdev(netdev)))
+		goto err_register;
 
 	DPRINTK(PROBE, INFO, "Intel(R) PRO/1000 Network Connection\n");
 

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] e1000: disable polling before registering netdevice
  2007-06-01 17:22 [PATCH] e1000: disable polling before registering netdevice Auke Kok
@ 2007-06-01 22:15 ` Herbert Xu
  2007-06-01 22:37 ` Doug Chapman
  2007-06-03 15:47 ` Jeff Garzik
  2 siblings, 0 replies; 4+ messages in thread
From: Herbert Xu @ 2007-06-01 22:15 UTC (permalink / raw)
  To: Auke Kok; +Cc: jeff, doug.chapman, netdev

On Fri, Jun 01, 2007 at 10:22:39AM -0700, Auke Kok wrote:
> To assure the symmetry of poll enable/disable in up/down, we should
> initialize the netdevice to be poll_disabled at load time. Doing
> this after register_netdevice leaves us open to another race, so
> lets move all the netif_* calls above register_netdevice so the
> stack starts out how we expect it to be.
> 
> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
> Cc: Herbert Xu <herbert@gondor.apana.org.au>
> Cc: Doug Chapman <doug.chapman@hp.com>

Looks good!

Thanks,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] e1000: disable polling before registering netdevice
  2007-06-01 17:22 [PATCH] e1000: disable polling before registering netdevice Auke Kok
  2007-06-01 22:15 ` Herbert Xu
@ 2007-06-01 22:37 ` Doug Chapman
  2007-06-03 15:47 ` Jeff Garzik
  2 siblings, 0 replies; 4+ messages in thread
From: Doug Chapman @ 2007-06-01 22:37 UTC (permalink / raw)
  To: Auke Kok; +Cc: jeff, herbert, netdev

On Fri, 2007-06-01 at 10:22 -0700, Auke Kok wrote:
> To assure the symmetry of poll enable/disable in up/down, we should
> initialize the netdevice to be poll_disabled at load time. Doing
> this after register_netdevice leaves us open to another race, so
> lets move all the netif_* calls above register_netdevice so the
> stack starts out how we expect it to be.
> 
> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
> Cc: Herbert Xu <herbert@gondor.apana.org.au>
> Cc: Doug Chapman <doug.chapman@hp.com>


I tested this on my HP Integrity systems and it looks good.

thanks,

- Doug



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] e1000: disable polling before registering netdevice
  2007-06-01 17:22 [PATCH] e1000: disable polling before registering netdevice Auke Kok
  2007-06-01 22:15 ` Herbert Xu
  2007-06-01 22:37 ` Doug Chapman
@ 2007-06-03 15:47 ` Jeff Garzik
  2 siblings, 0 replies; 4+ messages in thread
From: Jeff Garzik @ 2007-06-03 15:47 UTC (permalink / raw)
  To: Auke Kok; +Cc: herbert, doug.chapman, netdev

Auke Kok wrote:
> To assure the symmetry of poll enable/disable in up/down, we should
> initialize the netdevice to be poll_disabled at load time. Doing
> this after register_netdevice leaves us open to another race, so
> lets move all the netif_* calls above register_netdevice so the
> stack starts out how we expect it to be.
> 
> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
> Cc: Herbert Xu <herbert@gondor.apana.org.au>
> Cc: Doug Chapman <doug.chapman@hp.com>
> ---
> 
>  drivers/net/e1000/e1000_main.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)

applied to #upstream-fixes



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-06-03 15:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-01 17:22 [PATCH] e1000: disable polling before registering netdevice Auke Kok
2007-06-01 22:15 ` Herbert Xu
2007-06-01 22:37 ` Doug Chapman
2007-06-03 15:47 ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).