mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
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 <leoli@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
20ef2bb008
commit
293c851339
1 changed files with 10 additions and 0 deletions
|
@ -932,10 +932,14 @@ int startup_gfar(struct net_device *dev)
|
|||
/* 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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue