aboutsummaryrefslogtreecommitdiff
path: root/modules/devices/spd-decode2.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/devices/spd-decode2.c')
-rw-r--r--modules/devices/spd-decode2.c813
1 files changed, 7 insertions, 806 deletions
diff --git a/modules/devices/spd-decode2.c b/modules/devices/spd-decode2.c
index bc9fc911..bd2356bd 100644
--- a/modules/devices/spd-decode2.c
+++ b/modules/devices/spd-decode2.c
@@ -1,7 +1,8 @@
/*
- * spd-decode.c
+ * spd-decode.c, spd-vendors.c
* Copyright (c) 2010 Leandro A. F. Pereira
- * modified by Ondrej Čerman
+ * modified by Ondrej Čerman (2019)
+ * modified by Burt P. (2019)
*
* Based on decode-dimms.pl
* Copyright 1998, 1999 Philip Edelbrock <phil@netroedge.com>
@@ -59,806 +60,7 @@ static const char *ram_types[] = {"Unknown", "Direct Rambus", "Rambus",
"DDR4 SDRAM"};
#define GET_RAM_TYPE_STR(rt) (ram_types[(rt < N_RAM_TYPES) ? rt : 0])
-
-static const char *vendors1[] = {"AMD",
- "AMI",
- "Fairchild",
- "Fujitsu",
- "GTE",
- "Harris",
- "Hitachi",
- "Inmos",
- "Intel",
- "I.T.T.",
- "Intersil",
- "Monolithic Memories",
- "Mostek",
- "Freescale (former Motorola)",
- "National",
- "NEC",
- "RCA",
- "Raytheon",
- "Conexant (Rockwell)",
- "Seeq",
- "NXP (former Signetics, Philips Semi.)",
- "Synertek",
- "Texas Instruments",
- "Toshiba",
- "Xicor",
- "Zilog",
- "Eurotechnique",
- "Mitsubishi",
- "Lucent (AT&T)",
- "Exel",
- "Atmel",
- "SGS/Thomson",
- "Lattice Semi.",
- "NCR",
- "Wafer Scale Integration",
- "IBM",
- "Tristar",
- "Visic",
- "Intl. CMOS Technology",
- "SSSI",
- "MicrochipTechnology",
- "Ricoh Ltd.",
- "VLSI",
- "Micron Technology",
- "Hyundai Electronics",
- "OKI Semiconductor",
- "ACTEL",
- "Sharp",
- "Catalyst",
- "Panasonic",
- "IDT",
- "Cypress",
- "DEC",
- "LSI Logic",
- "Zarlink (former Plessey)",
- "UTMC",
- "Thinking Machine",
- "Thomson CSF",
- "Integrated CMOS (Vertex)",
- "Honeywell",
- "Tektronix",
- "Sun Microsystems",
- "SST",
- "ProMos/Mosel Vitelic",
- "Infineon (former Siemens)",
- "Macronix",
- "Xerox",
- "Plus Logic",
- "SunDisk",
- "Elan Circuit Tech.",
- "European Silicon Str.",
- "Apple Computer",
- "Xilinx",
- "Compaq",
- "Protocol Engines",
- "SCI",
- "Seiko Instruments",
- "Samsung",
- "I3 Design System",
- "Klic",
- "Crosspoint Solutions",
- "Alliance Semiconductor",
- "Tandem",
- "Hewlett-Packard",
- "Intg. Silicon Solutions",
- "Brooktree",
- "New Media",
- "MHS Electronic",
- "Performance Semi.",
- "Winbond Electronic",
- "Kawasaki Steel",
- "Bright Micro",
- "TECMAR",
- "Exar",
- "PCMCIA",
- "LG Semi (former Goldstar)",
- "Northern Telecom",
- "Sanyo",
- "Array Microsystems",
- "Crystal Semiconductor",
- "Analog Devices",
- "PMC-Sierra",
- "Asparix",
- "Convex Computer",
- "Quality Semiconductor",
- "Nimbus Technology",
- "Transwitch",
- "Micronas (ITT Intermetall)",
- "Cannon",
- "Altera",
- "NEXCOM",
- "QUALCOMM",
- "Sony",
- "Cray Research",
- "AMS(Austria Micro)",
- "Vitesse",
- "Aster Electronics",
- "Bay Networks (Synoptic)",
- "Zentrum or ZMD",
- "TRW",
- "Thesys",
- "Solbourne Computer",
- "Allied-Signal",
- "Dialog",
- "Media Vision",
- "Level One Communication"};
-
-static const char *vendors2[] = {
- "Cirrus Logic",
- "National Instruments",
- "ILC Data Device",
- "Alcatel Mietec",
- "Micro Linear",
- "Univ. of NC",
- "JTAG Technologies",
- "BAE Systems",
- "Nchip",
- "Galileo Tech",
- "Bestlink Systems",
- "Graychip",
- "GENNUM",
- "VideoLogic",
- "Robert Bosch",
- "Chip Express",
- "DATARAM",
- "United Microelec Corp.",
- "TCSI",
- "Smart Modular",
- "Hughes Aircraft",
- "Lanstar Semiconductor",
- "Qlogic",
- "Kingston",
- "Music Semi",
- "Ericsson Components",
- "SpaSE",
- "Eon Silicon Devices",
- "Programmable Micro Corp",
- "DoD",
- "Integ. Memories Tech.",
- "Corollary Inc.",
- "Dallas Semiconductor",
- "Omnivision",
- "EIV(Switzerland)",
- "Novatel Wireless",
- "Zarlink (former Mitel)",
- "Clearpoint",
- "Cabletron",
- "STEC (former Silicon Technology)",
- "Vanguard",
- "Hagiwara Sys-Com",
- "Vantis",
- "Celestica",
- "Century",
- "Hal Computers",
- "Rohm Company Ltd.",
- "Juniper Networks",
- "Libit Signal Processing",
- "Mushkin Enhanced Memory",
- "Tundra Semiconductor",
- "Adaptec Inc.",
- "LightSpeed Semi.",
- "ZSP Corp.",
- "AMIC Technology",
- "Adobe Systems",
- "Dynachip",
- "PNY Electronics",
- "Newport Digital",
- "MMC Networks",
- "T Square",
- "Seiko Epson",
- "Broadcom",
- "Viking Components",
- "V3 Semiconductor",
- "Flextronics (former Orbit)",
- "Suwa Electronics",
- "Transmeta",
- "Micron CMS",
- "American Computer & Digital Components Inc",
- "Enhance 3000 Inc",
- "Tower Semiconductor",
- "CPU Design",
- "Price Point",
- "Maxim Integrated Product",
- "Tellabs",
- "Centaur Technology",
- "Unigen Corporation",
- "Transcend Information",
- "Memory Card Technology",
- "CKD Corporation Ltd.",
- "Capital Instruments, Inc.",
- "Aica Kogyo, Ltd.",
- "Linvex Technology",
- "MSC Vertriebs GmbH",
- "AKM Company, Ltd.",
- "Dynamem, Inc.",
- "NERA ASA",
- "GSI Technology",
- "Dane-Elec (C Memory)",
- "Acorn Computers",
- "Lara Technology",
- "Oak Technology, Inc.",
- "Itec Memory",
- "Tanisys Technology",
- "Truevision",
- "Wintec Industries",
- "Super PC Memory",
- "MGV Memory",
- "Galvantech",
- "Gadzoox Nteworks",
- "Multi Dimensional Cons.",
- "GateField",
- "Integrated Memory System",
- "Triscend",
- "XaQti",
- "Goldenram",
- "Clear Logic",
- "Cimaron Communications",
- "Nippon Steel Semi. Corp.",
- "Advantage Memory",
- "AMCC",
- "LeCroy",
- "Yamaha Corporation",
- "Digital Microwave",
- "NetLogic Microsystems",
- "MIMOS Semiconductor",
- "Advanced Fibre",
- "BF Goodrich Data.",
- "Epigram",
- "Acbel Polytech Inc.",
- "Apacer Technology",
- "Admor Memory",
- "FOXCONN",
- "Quadratics Superconductor",
- "3COM",
-};
-
-static const char *vendors3[] = {"Camintonn Corporation",
- "ISOA Incorporated",
- "Agate Semiconductor",
- "ADMtek Incorporated",
- "HYPERTEC",
- "Adhoc Technologies",
- "MOSAID Technologies",
- "Ardent Technologies",
- "Switchcore",
- "Cisco Systems, Inc.",
- "Allayer Technologies",
- "WorkX AG",
- "Oasis Semiconductor",
- "Novanet Semiconductor",
- "E-M Solutions",
- "Power General",
- "Advanced Hardware Arch.",
- "Inova Semiconductors GmbH",
- "Telocity",
- "Delkin Devices",
- "Symagery Microsystems",
- "C-Port Corporation",
- "SiberCore Technologies",
- "Southland Microsystems",
- "Malleable Technologies",
- "Kendin Communications",
- "Great Technology Microcomputer",
- "Sanmina Corporation",
- "HADCO Corporation",
- "Corsair",
- "Actrans System Inc.",
- "ALPHA Technologies",
- "Silicon Laboratories, Inc. (Cygnal)",
- "Artesyn Technologies",
- "Align Manufacturing",
- "Peregrine Semiconductor",
- "Chameleon Systems",
- "Aplus Flash Technology",
- "MIPS Technologies",
- "Chrysalis ITS",
- "ADTEC Corporation",
- "Kentron Technologies",
- "Win Technologies",
- "Tachyon Semiconductor (former ASIC Designs Inc.)",
- "Extreme Packet Devices",
- "RF Micro Devices",
- "Siemens AG",
- "Sarnoff Corporation",
- "Itautec Philco SA",
- "Radiata Inc.",
- "Benchmark Elect. (AVEX)",
- "Legend",
- "SpecTek Incorporated",
- "Hi/fn",
- "Enikia Incorporated",
- "SwitchOn Networks",
- "AANetcom Incorporated",
- "Micro Memory Bank",
- "ESS Technology",
- "Virata Corporation",
- "Excess Bandwidth",
- "West Bay Semiconductor",
- "DSP Group",
- "Newport Communications",
- "Chip2Chip Incorporated",
- "Phobos Corporation",
- "Intellitech Corporation",
- "Nordic VLSI ASA",
- "Ishoni Networks",
- "Silicon Spice",
- "Alchemy Semiconductor",
- "Agilent Technologies",
- "Centillium Communications",
- "W.L. Gore",
- "HanBit Electronics",
- "GlobeSpan",
- "Element 14",
- "Pycon",
- "Saifun Semiconductors",
- "Sibyte, Incorporated",
- "MetaLink Technologies",
- "Feiya Technology",
- "I & C Technology",
- "Shikatronics",
- "Elektrobit",
- "Megic",
- "Com-Tier",
- "Malaysia Micro Solutions",
- "Hyperchip",
- "Gemstone Communications",
- "Anadigm (former Anadyne)",
- "3ParData",
- "Mellanox Technologies",
- "Tenx Technologies",
- "Helix AG",
- "Domosys",
- "Skyup Technology",
- "HiNT Corporation",
- "Chiaro",
- "MDT Technologies GmbH (former MCI Computer GMBH)",
- "Exbit Technology A/S",
- "Integrated Technology Express",
- "AVED Memory",
- "Legerity",
- "Jasmine Networks",
- "Caspian Networks",
- "nCUBE",
- "Silicon Access Networks",
- "FDK Corporation",
- "High Bandwidth Access",
- "MultiLink Technology",
- "BRECIS",
- "World Wide Packets",
- "APW",
- "Chicory Systems",
- "Xstream Logic",
- "Fast-Chip",
- "Zucotto Wireless",
- "Realchip",
- "Galaxy Power",
- "eSilicon",
- "Morphics Technology",
- "Accelerant Networks",
- "Silicon Wave",
- "SandCraft",
- "Elpida"};
-
-static const char *vendors4[] = {"Solectron",
- "Optosys Technologies",
- "Buffalo (former Melco)",
- "TriMedia Technologies",
- "Cyan Technologies",
- "Global Locate",
- "Optillion",
- "Terago Communications",
- "Ikanos Communications",
- "Princeton Technology",
- "Nanya Technology",
- "Elite Flash Storage",
- "Mysticom",
- "LightSand Communications",
- "ATI Technologies",
- "Agere Systems",
- "NeoMagic",
- "AuroraNetics",
- "Golden Empire",
- "Mushkin",
- "Tioga Technologies",
- "Netlist",
- "TeraLogic",
- "Cicada Semiconductor",
- "Centon Electronics",
- "Tyco Electronics",
- "Magis Works",
- "Zettacom",
- "Cogency Semiconductor",
- "Chipcon AS",
- "Aspex Technology",
- "F5 Networks",
- "Programmable Silicon Solutions",
- "ChipWrights",
- "Acorn Networks",
- "Quicklogic",
- "Kingmax Semiconductor",
- "BOPS",
- "Flasys",
- "BitBlitz Communications",
- "eMemory Technology",
- "Procket Networks",
- "Purple Ray",
- "Trebia Networks",
- "Delta Electronics",
- "Onex Communications",
- "Ample Communications",
- "Memory Experts Intl",
- "Astute Networks",
- "Azanda Network Devices",
- "Dibcom",
- "Tekmos",
- "API NetWorks",
- "Bay Microsystems",
- "Firecron Ltd",
- "Resonext Communications",
- "Tachys Technologies",
- "Equator Technology",
- "Concept Computer",
- "SILCOM",
- "3Dlabs",
- "c't Magazine",
- "Sanera Systems",
- "Silicon Packets",
- "Viasystems Group",
- "Simtek",
- "Semicon Devices Singapore",
- "Satron Handelsges",
- "Improv Systems",
- "INDUSYS GmbH",
- "Corrent",
- "Infrant Technologies",
- "Ritek Corp",
- "empowerTel Networks",
- "Hypertec",
- "Cavium Networks",
- "PLX Technology",
- "Massana Design",
- "Intrinsity",
- "Valence Semiconductor",
- "Terawave Communications",
- "IceFyre Semiconductor",
- "Primarion",
- "Picochip Designs Ltd",
- "Silverback Systems",
- "Jade Star Technologies",
- "Pijnenburg Securealink",
- "TakeMS International AG",
- "Cambridge Silicon Radio",
- "Swissbit",
- "Nazomi Communications",
- "eWave System",
- "Rockwell Collins",
- "Picocel Co., Ltd.",
- "Alphamosaic Ltd",
- "Sandburst",
- "SiCon Video",
- "NanoAmp Solutions",
- "Ericsson Technology",
- "PrairieComm",
- "Mitac International",
- "Layer N Networks",
- "MtekVision",
- "Allegro Networks",
- "Marvell Semiconductors",
- "Netergy Microelectronic",
- "NVIDIA",
- "Internet Machines",
- "Peak Electronics",
- "Litchfield Communication",
- "Accton Technology",
- "Teradiant Networks",
- "Europe Technologies",
- "Cortina Systems",
- "RAM Components",
- "Raqia Networks",
- "ClearSpeed",
- "Matsushita Battery",
- "Xelerated",
- "SimpleTech",
- "Utron Technology",
- "Astec International",
- "AVM gmbH",
- "Redux Communications",
- "Dot Hill Systems",
- "TeraChip"};
-
-static const char *vendors5[] = {"T-RAM Incorporated",
- "Innovics Wireless",
- "Teknovus",
- "KeyEye Communications",
- "Runcom Technologies",
- "RedSwitch",
- "Dotcast",
- "Silicon Mountain Memory",
- "Signia Technologies",
- "Pixim",
- "Galazar Networks",
- "White Electronic Designs",
- "Patriot Scientific",
- "Neoaxiom Corporation",
- "3Y Power Technology",
- "Europe Technologies",
- "Potentia Power Systems",
- "C-guys Incorporated",
- "Digital Communications Technology Incorporated",
- "Silicon-Based Technology",
- "Fulcrum Microsystems",
- "Positivo Informatica Ltd",
- "XIOtech Corporation",
- "PortalPlayer",
- "Zhiying Software",
- "Direct2Data",
- "Phonex Broadband",
- "Skyworks Solutions",
- "Entropic Communications",
- "Pacific Force Technology",
- "Zensys A/S",
- "Legend Silicon Corp.",
- "sci-worx GmbH",
- "SMSC (former Oasis Silicon Systems)",
- "Renesas Technology",
- "Raza Microelectronics",
- "Phyworks",
- "MediaTek",
- "Non-cents Productions",
- "US Modular",
- "Wintegra Ltd",
- "Mathstar",
- "StarCore",
- "Oplus Technologies",
- "Mindspeed",
- "Just Young Computer",
- "Radia Communications",
- "OCZ",
- "Emuzed",
- "LOGIC Devices",
- "Inphi Corporation",
- "Quake Technologies",
- "Vixel",
- "SolusTek",
- "Kongsberg Maritime",
- "Faraday Technology",
- "Altium Ltd.",
- "Insyte",
- "ARM Ltd.",
- "DigiVision",
- "Vativ Technologies",
- "Endicott Interconnect Technologies",
- "Pericom",
- "Bandspeed",
- "LeWiz Communications",
- "CPU Technology",
- "Ramaxel Technology",
- "DSP Group",
- "Axis Communications",
- "Legacy Electronics",
- "Chrontel",
- "Powerchip Semiconductor",
- "MobilEye Technologies",
- "Excel Semiconductor",
- "A-DATA Technology",
- "VirtualDigm",
- "G.Skill Intl",
- "Quanta Computer",
- "Yield Microelectronics",
- "Afa Technologies",
- "KINGBOX Technology Co. Ltd.",
- "Ceva",
- "iStor Networks",
- "Advance Modules",
- "Microsoft",
- "Open-Silicon",
- "Goal Semiconductor",
- "ARC International",
- "Simmtec",
- "Metanoia",
- "Key Stream",
- "Lowrance Electronics",
- "Adimos",
- "SiGe Semiconductor",
- "Fodus Communications",
- "Credence Systems Corp.",
- "Genesis Microchip Inc.",
- "Vihana, Inc.",
- "WIS Technologies",
- "GateChange Technologies",
- "High Density Devices AS",
- "Synopsys",
- "Gigaram",
- "Enigma Semiconductor Inc.",
- "Century Micro Inc.",
- "Icera Semiconductor",
- "Mediaworks Integrated Systems",
- "O'Neil Product Development",
- "Supreme Top Technology Ltd.",
- "MicroDisplay Corporation",
- "Team Group Inc.",
- "Sinett Corporation",
- "Toshiba Corporation",
- "Tensilica",
- "SiRF Technology",
- "Bacoc Inc.",
- "SMaL Camera Technologies",
- "Thomson SC",
- "Airgo Networks",
- "Wisair Ltd.",
- "SigmaTel",
- "Arkados",
- "Compete IT gmbH Co. KG",
- "Eudar Technology Inc.",
- "Focus Enhancements",
- "Xyratex"};
-
-static const char *vendors6[] = {"Specular Networks",
- "Patriot Memory",
- "U-Chip Technology Corp.",
- "Silicon Optix",
- "Greenfield Networks",
- "CompuRAM GmbH",
- "Stargen, Inc.",
- "NetCell Corporation",
- "Excalibrus Technologies Ltd",
- "SCM Microsystems",
- "Xsigo Systems, Inc.",
- "CHIPS & Systems Inc",
- "Tier 1 Multichip Solutions",
- "CWRL Labs",
- "Teradici",
- "Gigaram, Inc.",
- "g2 Microsystems",
- "PowerFlash Semiconductor",
- "P.A. Semi, Inc.",
- "NovaTech Solutions, S.A.",
- "c2 Microsystems, Inc.",
- "Level5 Networks",
- "COS Memory AG",
- "Innovasic Semiconductor",
- "02IC Co. Ltd",
- "Tabula, Inc.",
- "Crucial Technology",
- "Chelsio Communications",
- "Solarflare Communications",
- "Xambala Inc.",
- "EADS Astrium",
- "ATO Semicon Co. Ltd.",
- "Imaging Works, Inc.",
- "Astute Networks, Inc.",
- "Tzero",
- "Emulex",
- "Power-One",
- "Pulse~LINK Inc.",
- "Hon Hai Precision Industry",
- "White Rock Networks Inc.",
- "Telegent Systems USA, Inc.",
- "Atrua Technologies, Inc.",
- "Acbel Polytech Inc.",
- "eRide Inc.",
- "ULi Electronics Inc.",
- "Magnum Semiconductor Inc.",
- "neoOne Technology, Inc.",
- "Connex Technology, Inc.",
- "Stream Processors, Inc.",
- "Focus Enhancements",
- "Telecis Wireless, Inc.",
- "uNav Microelectronics",
- "Tarari, Inc.",
- "Ambric, Inc.",
- "Newport Media, Inc.",
- "VMTS",
- "Enuclia Semiconductor, Inc.",
- "Virtium Technology Inc.",
- "Solid State System Co., Ltd.",
- "Kian Tech LLC",
- "Artimi",
- "Power Quotient International",
- "Avago Technologies",
- "ADTechnology",
- "Sigma Designs",
- "SiCortex, Inc.",
- "Ventura Technology Group",
- "eASIC",
- "M.H.S. SAS",
- "Micro Star International",
- "Rapport Inc.",
- "Makway International",
- "Broad Reach Engineering Co.",
- "Semiconductor Mfg Intl Corp",
- "SiConnect",
- "FCI USA Inc.",
- "Validity Sensors",
- "Coney Technology Co. Ltd.",
- "Spans Logic",
- "Neterion Inc.",
- "Qimonda",
- "New Japan Radio Co. Ltd.",
- "Velogix",
- "Montalvo Systems",
- "iVivity Inc.",
- "Walton Chaintech",
- "AENEON",
- "Lorom Industrial Co. Ltd.",
- "Radiospire Networks",
- "Sensio Technologies, Inc.",
- "Nethra Imaging",
- "Hexon Technology Pte Ltd",
- "CompuStocx (CSX)",
- "Methode Electronics, Inc.",
- "Connect One Ltd.",
- "Opulan Technologies",
- "Septentrio NV",
- "Goldenmars Technology Inc.",
- "Kreton Corporation",
- "Cochlear Ltd.",
- "Altair Semiconductor",
- "NetEffect, Inc.",
- "Spansion, Inc.",
- "Taiwan Semiconductor Mfg",
- "Emphany Systems Inc.",
- "ApaceWave Technologies",
- "Mobilygen Corporation",
- "Tego",
- "Cswitch Corporation",
- "Haier (Beijing) IC Design Co.",
- "MetaRAM",
- "Axel Electronics Co. Ltd.",
- "Tilera Corporation",
- "Aquantia",
- "Vivace Semiconductor",
- "Redpine Signals",
- "Octalica",
- "InterDigital Communications",
- "Avant Technology",
- "Asrock, Inc.",
- "Availink",
- "Quartics, Inc.",
- "Element CXI",
- "Innovaciones Microelectronicas",
- "VeriSilicon Microelectronics",
- "W5 Networks"};
-
-static const char *vendors7[] = {"MOVEKING",
- "Mavrix Technology, Inc.",
- "CellGuide Ltd.",
- "Faraday Technology",
- "Diablo Technologies, Inc.",
- "Jennic",
- "Octasic",
- "Molex Incorporated",
- "3Leaf Networks",
- "Bright Micron Technology",
- "Netxen",
- "NextWave Broadband Inc.",
- "DisplayLink",
- "ZMOS Technology",
- "Tec-Hill",
- "Multigig, Inc.",
- "Amimon",
- "Euphonic Technologies, Inc.",
- "BRN Phoenix",
- "InSilica",
- "Ember Corporation",
- "Avexir Technologies Corporation",
- "Echelon Corporation",
- "Edgewater Computer Systems",
- "XMOS Semiconductor Ltd.",
- "GENUSION, Inc.",
- "Memory Corp NV",
- "SiliconBlue Technologies",
- "Rambus Inc."};
-
-#define VENDORS_BANKS 7
-#define VENDORS_LAST_BANK_SIZE sizeof(vendors7) / sizeof(char *)
-
-static const char **vendors[VENDORS_BANKS] = {vendors1, vendors2, vendors3, vendors4,
- vendors5, vendors6, vendors7};
+#include "spd-vendors.c"
typedef struct {
unsigned char bytes[512];
@@ -1375,12 +577,11 @@ static void decode_ddr3_part_number(unsigned char *bytes, char *part_number) {
}
}
-
static void decode_ddr34_manufacturer(unsigned char count, unsigned char code, char **manufacturer) {
if (!manufacturer) return;
if (code == 0x00 || code == 0xFF) {
- *manufacturer = _("Unknown");
+ *manufacturer = NULL;
return;
}
@@ -1391,8 +592,8 @@ static void decode_ddr34_manufacturer(unsigned char count, unsigned char code, c
int bank = count & 0x7f;
int pos = code & 0x7f;
- if (bank >= VENDORS_BANKS || (bank == VENDORS_BANKS - 1 && pos > VENDORS_LAST_BANK_SIZE)) {
- *manufacturer = _("Unknown");
+ if (bank >= VENDORS_BANKS) {
+ *manufacturer = NULL;
return;
}