[PATCH] m68knommu: FEC driver set different priority/level on each IRQ
authorWillson Callan <wcallan@racepointmedia.com>
Tue, 27 Jun 2006 03:13:44 +0000 (13:13 +1000)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 28 Jun 2006 01:26:37 +0000 (18:26 -0700)
Set different irq priority levels for each IRQ requested.
According to the Freescale ColdFire documentation each separate IRQ
must have its own unique priority/level combination.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/net/fec.c

index 0ba9f77603f6d9566e62324d529c6d9372cd3ac4..6b7641873e7a9c9853582b5cbc0e1402fb769424 100644 (file)
@@ -1387,13 +1387,13 @@ static void __inline__ fec_request_intrs(struct net_device *dev)
        {
                volatile unsigned char  *icrp;
                volatile unsigned long  *imrp;
-               int i;
+               int i, ilip;
 
                b = (fep->index) ? MCFICM_INTC1 : MCFICM_INTC0;
                icrp = (volatile unsigned char *) (MCF_IPSBAR + b +
                        MCFINTC_ICR0);
-               for (i = 23; (i < 36); i++)
-                       icrp[i] = 0x23;
+               for (i = 23, ilip = 0x28; (i < 36); i++)
+                       icrp[i] = ilip--;
 
                imrp = (volatile unsigned long *) (MCF_IPSBAR + b +
                        MCFINTC_IMRH);