- if (!serno_read) {
- eeprom_read_block(serno, 0, 6);
- if (serno[0] == 0xff) {
- /* If the EEPROM is blank, return a default serial # */
- serno[0] = 'U';
- serno[1] = 'N';
- serno[2] = 'S';
- serno[3] = 'E';
- serno[4] = 'T';
- serno[5] = 0;
- }
- serno_read = 1;
+ eeprom_read_block(&serno, 0, 4);
+ if (serno == 0xffffffff) {
+ /* If the EEPROM is blank, return a default serial # */
+ serno_str[1] = '1';
+ serno_str[2] = '2';
+ serno_str[3] = '3';
+ serno_str[4] = '4';
+ serno_str[5] = '5';
+ } else {
+ serno_str[1] = hexdigit((serno >> 20) & 0xF);
+ serno_str[2] = hexdigit((serno >> 16) & 0xF);
+ serno_str[3] = hexdigit((serno >> 12) & 0xF);
+ serno_str[4] = hexdigit((serno >> 8) & 0xF);
+ serno_str[5] = hexdigit((serno >> 4) & 0xF);