diff options
Diffstat (limited to 'drivers/net/ethernet/freescale')
-rw-r--r-- | drivers/net/ethernet/freescale/gianfar.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index 4b5e8a692481..d2c5441d1bf0 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c | |||
@@ -2906,21 +2906,23 @@ static void gfar_netpoll(struct net_device *dev) | |||
2906 | /* If the device has multiple interrupts, run tx/rx */ | 2906 | /* If the device has multiple interrupts, run tx/rx */ |
2907 | if (priv->device_flags & FSL_GIANFAR_DEV_HAS_MULTI_INTR) { | 2907 | if (priv->device_flags & FSL_GIANFAR_DEV_HAS_MULTI_INTR) { |
2908 | for (i = 0; i < priv->num_grps; i++) { | 2908 | for (i = 0; i < priv->num_grps; i++) { |
2909 | disable_irq(priv->gfargrp[i].interruptTransmit); | 2909 | struct gfar_priv_grp *grp = &priv->gfargrp[i]; |
2910 | disable_irq(priv->gfargrp[i].interruptReceive); | 2910 | |
2911 | disable_irq(priv->gfargrp[i].interruptError); | 2911 | disable_irq(gfar_irq(grp, TX)->irq); |
2912 | gfar_interrupt(priv->gfargrp[i].interruptTransmit, | 2912 | disable_irq(gfar_irq(grp, RX)->irq); |
2913 | &priv->gfargrp[i]); | 2913 | disable_irq(gfar_irq(grp, ER)->irq); |
2914 | enable_irq(priv->gfargrp[i].interruptError); | 2914 | gfar_interrupt(gfar_irq(grp, TX)->irq, grp); |
2915 | enable_irq(priv->gfargrp[i].interruptReceive); | 2915 | enable_irq(gfar_irq(grp, ER)->irq); |
2916 | enable_irq(priv->gfargrp[i].interruptTransmit); | 2916 | enable_irq(gfar_irq(grp, RX)->irq); |
2917 | enable_irq(gfar_irq(grp, TX)->irq); | ||
2917 | } | 2918 | } |
2918 | } else { | 2919 | } else { |
2919 | for (i = 0; i < priv->num_grps; i++) { | 2920 | for (i = 0; i < priv->num_grps; i++) { |
2920 | disable_irq(priv->gfargrp[i].interruptTransmit); | 2921 | struct gfar_priv_grp *grp = &priv->gfargrp[i]; |
2921 | gfar_interrupt(priv->gfargrp[i].interruptTransmit, | 2922 | |
2922 | &priv->gfargrp[i]); | 2923 | disable_irq(gfar_irq(grp, TX)->irq); |
2923 | enable_irq(priv->gfargrp[i].interruptTransmit); | 2924 | gfar_interrupt(gfar_irq(grp, TX)->irq, grp); |
2925 | enable_irq(gfar_irq(grp, TX)->irq); | ||
2924 | } | 2926 | } |
2925 | } | 2927 | } |
2926 | } | 2928 | } |