bd_t* bi = (void*)__res;
        int fs_no = fsid_fcc1+pdev->id-1;
 
-       if(fs_no > ARRAY_SIZE(mpc82xx_enet_pdata)) {
+       if(fs_no >= ARRAY_SIZE(mpc82xx_enet_pdata)) {
                return;
        }
 
        int id = fs_uart_id_scc2fsid(idx);
 
        /* no need to alter anything if console */
-       if ((id <= num) && (!pdev->dev.platform_data)) {
+       if ((id < num) && (!pdev->dev.platform_data)) {
                pinfo = &mpc8272_uart_pdata[id];
                pinfo->uart_clk = bd->bi_intfreq;
                pdev->dev.platform_data = pinfo;
 
        /* Get pointer to Communication Processor */
        cp = cpmp;
 
-       if(fs_no > ARRAY_SIZE(mpc8xx_enet_pdata)) {
+       if(fs_no >= ARRAY_SIZE(mpc8xx_enet_pdata)) {
                printk(KERN_ERR"No network-suitable #%d device on bus", fs_no);
                return;
        }
        int id = fs_uart_id_smc2fsid(idx);
 
        /* no need to alter anything if console */
-       if ((id <= num) && (!pdev->dev.platform_data)) {
+       if ((id < num) && (!pdev->dev.platform_data)) {
                pinfo = &mpc866_uart_pdata[id];
                pinfo->uart_clk = bd->bi_intfreq;
                pdev->dev.platform_data = pinfo;
 
        char *e;
        int i;
 
-       if(fs_no > ARRAY_SIZE(mpc8xx_enet_pdata)) {
+       if(fs_no >= ARRAY_SIZE(mpc8xx_enet_pdata)) {
                printk(KERN_ERR"No network-suitable #%d device on bus", fs_no);
                return;
        }
        int id = fs_uart_id_smc2fsid(idx);
 
        /* no need to alter anything if console */
-       if ((id <= num) && (!pdev->dev.platform_data)) {
+       if ((id < num) && (!pdev->dev.platform_data)) {
                pinfo = &mpc885_uart_pdata[id];
                pinfo->uart_clk = bd->bi_intfreq;
                pdev->dev.platform_data = pinfo;