patch5: fcc_enet-mac-addr.diff1 - restore proper collection of mac addr data in obsolete FCC driver by replacing mix of #ifdef and if() with case
Signed-off-by: Paul Gortmaker <paul.gortmaker at windriver.com> --- linux-2.6.16_rc5/arch/ppc/8260_io/fcc_enet.c.orig 2006-01-02 22:21:10.000000000 -0500 +++ linux-2.6.16_rc5/arch/ppc/8260_io/fcc_enet.c 2006-02-27 18:01:45.000000000 -0500 @@ -1962,32 +1962,30 @@ * non-static part of the address. */ eap = (unsigned char *)&(ep->fen_paddrh); - for (i=5; i>=0; i--) { /* * The EP8260 only uses FCC3, so we can safely give it the real * MAC address. */ + for (i=5; i>=0; i--) switch(i) { + case 5: #ifdef CONFIG_SBC82xx - if (i == 5) { /* bd->bi_enetaddr holds the SCC0 address; the FCC devices count up from there */ dev->dev_addr[i] = bd->bi_enetaddr[i] & ~3; dev->dev_addr[i] += 1 + fip->fc_fccnum; *eap++ = dev->dev_addr[i]; - } -#else -#ifndef CONFIG_RPX8260 - if (i == 3) { + break; +#endif + case 3: +#if !defined(CONFIG_RPX8260) && !defined(CONFIG_SBC82xx) dev->dev_addr[i] = bd->bi_enetaddr[i]; dev->dev_addr[i] |= (1 << (7 - fip->fc_fccnum)); *eap++ = dev->dev_addr[i]; - } else + break; #endif - { + default: *eap++ = dev->dev_addr[i] = bd->bi_enetaddr[i]; - } -#endif } ep->fen_taddrh = 0;