X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.c;h=0ebb9255dd9b9c44f49589214efffd9979e737ca;hp=bd813067720c86c070fd85cf8bc24e6f81a38d76;hb=665cda0403fc795be8785c9545f357d039dda62d;hpb=c2700d6da86375b156e16cafb52085fbf5594136 diff --git a/src/ftdi.c b/src/ftdi.c index bd81306..0ebb925 100644 --- a/src/ftdi.c +++ b/src/ftdi.c @@ -2308,7 +2308,24 @@ int ftdi_eeprom_build(struct ftdi_context *ftdi) serial_size = strlen(eeprom->serial); // eeprom size exceeded? - user_area_size = (48 - (manufacturer_size + product_size + serial_size)) * 2; + + switch (ftdi->type) { + case TYPE_AM: + case TYPE_BM: + user_area_size = 96; + break; + case TYPE_2232C: + user_area_size = 94; + break; + case TYPE_R: + user_area_size = 92; + break; + case TYPE_2232H: + case TYPE_4232H: + user_area_size = 90; + break; + } + user_area_size -= (manufacturer_size + product_size + serial_size) * 2; if (user_area_size < 0) ftdi_error_return(-1,"eeprom size exceeded");