I applied the fix in a slightly different way, can you test this for me?

It looks like this now:

int probe_29f040b (struct flashchip * flash)
{
        volatile unsigned char * bios = flash->virt_addr;
        unsigned char id1, id2;

        *(bios + 0x555) = 0xAA;
        *(bios + 0x2AA) = 0x55;
        *(bios + 0x555) = 0x90;
   
        id1 = * bios;
        id2 = * (bios + 0x01);

        *bios = 0xF0;

        myusec_delay(10);
   
        printf("%s: id1 0x%x, id2 0x%x\n", __FUNCTION__, id1, id2);
        if (id1 == flash->manufacture_id && id2 == flash->model_id)
                return 1;

        return 0;
}


ron

_______________________________________________
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios

Reply via email to