strcpy(name, "DE434/5");
        return status;
     } else {                           /* Search for a DEC name in the SROM */
-       int i = *((char *)&lp->srom + 19) * 3;
-       strncpy(name, (char *)&lp->srom + 26 + i, 8);
+       int tmp = *((char *)&lp->srom + 19) * 3;
+       strncpy(name, (char *)&lp->srom + 26 + tmp, 8);
     }
     name[8] = '\0';
     for (i=0; i<siglen; i++) {
 
 
        spin_lock_irqsave(&tp->mii_lock, flags);
        if (tp->chip_id == LC82C168) {
-               int i = 1000;
                iowrite32(0x60020000 + (phy_id<<23) + (location<<18), ioaddr + 0xA0);
                ioread32(ioaddr + 0xA0);
                ioread32(ioaddr + 0xA0);
-               while (--i > 0) {
+               for (i = 1000; i >= 0; --i) {
                        barrier();
                        if ( ! ((retval = ioread32(ioaddr + 0xA0)) & 0x80000000))
                                break;
 
        spin_lock_irqsave(&tp->mii_lock, flags);
        if (tp->chip_id == LC82C168) {
-               int i = 1000;
                iowrite32(cmd, ioaddr + 0xA0);
-               do {
+               for (i = 1000; i >= 0; --i) {
                        barrier();
                        if ( ! (ioread32(ioaddr + 0xA0) & 0x80000000))
                                break;
-               } while (--i > 0);
+               }
                spin_unlock_irqrestore(&tp->mii_lock, flags);
                return;
        }