X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.c;h=39337b604578b491096d9130f1b7498694060e1b;hp=0db9a4d6fe3ad9e6f0b341671a8ad593749c2120;hb=bf2f6ef7f73ba0a1bf3f04db4435ce2014231ba3;hpb=bb5ec68a9a7e2218b0e5852d62e878201dd4d653 diff --git a/src/ftdi.c b/src/ftdi.c index 0db9a4d..39337b6 100644 --- a/src/ftdi.c +++ b/src/ftdi.c @@ -2470,6 +2470,13 @@ int ftdi_eeprom_build(struct ftdi_context *ftdi) output[0x13] = serial_size*2 + 2; + if(ftdi->type > TYPE_AM) /*use_serial not used in AM devices*/ + { + if (eeprom->use_serial == USE_SERIAL_NUM ) + output[0x0A] |= USE_SERIAL_NUM; + else + output[0x0A] &= ~USE_SERIAL_NUM; + } /* Fixme: ftd2xx seems to append 0x02, 0x03 and 0x01 for PnP = 0 or 0x00 else */ // calculate checksum @@ -2482,10 +2489,6 @@ int ftdi_eeprom_build(struct ftdi_context *ftdi) case TYPE_BM: output[0x0C] = eeprom->usb_version & 0xff; output[0x0D] = (eeprom->usb_version>>8) & 0xff; - if (eeprom->use_serial == 1) - output[0x0A] |= 0x8; - else - output[0x0A] &= ~0x8; output[0x14] = eeprom->chip; break; case TYPE_2232C: @@ -2524,10 +2527,6 @@ int ftdi_eeprom_build(struct ftdi_context *ftdi) output[0x0A] |= 0x4; else output[0x0A] &= ~0x4; - if (eeprom->use_serial == USE_SERIAL_NUM ) - output[0x0A] |= USE_SERIAL_NUM; - else - output[0x0A] &= ~0x8; output[0x0C] = eeprom->usb_version & 0xff; output[0x0D] = (eeprom->usb_version>>8) & 0xff; output[0x14] = eeprom->chip; @@ -2541,10 +2540,6 @@ int ftdi_eeprom_build(struct ftdi_context *ftdi) output[0x0A] |= 0x4; else output[0x0A] &= ~0x4; - if (eeprom->use_serial == USE_SERIAL_NUM) - output[0x0A] |= USE_SERIAL_NUM; - else - output[0x0A] &= ~0x8; output[0x0B] = eeprom->invert; output[0x0C] = eeprom->usb_version & 0xff; output[0x0D] = (eeprom->usb_version>>8) & 0xff;