From: Li Yang Date: Mon, 15 Oct 2007 15:01:12 +0000 (+0800) Subject: gianfar: Fix regression caused by new napi interface X-Git-Tag: v2.6.24-rc1~1281^2~3 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=293c8513398657f6263fcdb03c87f2760cf61be4;p=linux-2.6 gianfar: Fix regression caused by new napi interface Protect all new napi function calls with CONFIG_GFAR_NAPI. Otherwise the driver will stop working when CONFIG_GFAR_NAPI disabled. Signed-off-by: Li Yang Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 1509950591..558440c15b 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -932,10 +932,14 @@ tx_skb_fail: /* Returns 0 for success. */ static int gfar_enet_open(struct net_device *dev) { +#ifdef CONFIG_GFAR_NAPI struct gfar_private *priv = netdev_priv(dev); +#endif int err; +#ifdef CONFIG_GFAR_NAPI napi_enable(&priv->napi); +#endif /* Initialize a bunch of registers */ init_registers(dev); @@ -945,13 +949,17 @@ static int gfar_enet_open(struct net_device *dev) err = init_phy(dev); if(err) { +#ifdef CONFIG_GFAR_NAPI napi_disable(&priv->napi); +#endif return err; } err = startup_gfar(dev); if (err) +#ifdef CONFIG_GFAR_NAPI napi_disable(&priv->napi); +#endif netif_start_queue(dev); @@ -1105,7 +1113,9 @@ static int gfar_close(struct net_device *dev) { struct gfar_private *priv = netdev_priv(dev); +#ifdef CONFIG_GFAR_NAPI napi_disable(&priv->napi); +#endif stop_gfar(dev);