|
@@ -1474,13 +1474,13 @@ static void eexp_hw_init586(struct net_device *dev)
|
|
|
outw(0x0000, ioaddr + 0x800c);
|
|
|
outw(0x0000, ioaddr + 0x800e);
|
|
|
|
|
|
- for (i = 0; i < (sizeof(start_code)); i+=32) {
|
|
|
+ for (i = 0; i < ARRAY_SIZE(start_code) * 2; i+=32) {
|
|
|
int j;
|
|
|
outw(i, ioaddr + SM_PTR);
|
|
|
- for (j = 0; j < 16; j+=2)
|
|
|
+ for (j = 0; j < 16 && (i+j)/2 < ARRAY_SIZE(start_code); j+=2)
|
|
|
outw(start_code[(i+j)/2],
|
|
|
ioaddr+0x4000+j);
|
|
|
- for (j = 0; j < 16; j+=2)
|
|
|
+ for (j = 0; j < 16 && (i+j+16)/2 < ARRAY_SIZE(start_code); j+=2)
|
|
|
outw(start_code[(i+j+16)/2],
|
|
|
ioaddr+0x8000+j);
|
|
|
}
|