ssb: workarounds: be verbose about hacking SPROM revision, don't duplicate code
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
d1f9e41d1d
Коммит
54435f9ec8
|
@ -573,17 +573,19 @@ static int sprom_extract(struct ssb_bus *bus, struct ssb_sprom *out,
|
|||
ssb_dprintk(KERN_DEBUG PFX "SPROM revision %d detected.\n", out->revision);
|
||||
memset(out->et0mac, 0xFF, 6); /* preset et0 and et1 mac */
|
||||
memset(out->et1mac, 0xFF, 6);
|
||||
|
||||
if ((bus->chip_id & 0xFF00) == 0x4400) {
|
||||
/* Workaround: The BCM44XX chip has a stupid revision
|
||||
* number stored in the SPROM.
|
||||
* Always extract r1. */
|
||||
out->revision = 1;
|
||||
sprom_extract_r123(out, in);
|
||||
ssb_dprintk(KERN_DEBUG PFX "SPROM treated as revision %d\n", out->revision);
|
||||
} else if (bus->chip_id == 0x4321) {
|
||||
/* the BCM4328 has a chipid == 0x4321 and a rev 4 SPROM */
|
||||
out->revision = 4;
|
||||
sprom_extract_r45(out, in);
|
||||
} else {
|
||||
ssb_dprintk(KERN_DEBUG PFX "SPROM treated as revision %d\n", out->revision);
|
||||
}
|
||||
|
||||
switch (out->revision) {
|
||||
case 1:
|
||||
case 2:
|
||||
|
@ -604,7 +606,6 @@ static int sprom_extract(struct ssb_bus *bus, struct ssb_sprom *out,
|
|||
out->revision = 1;
|
||||
sprom_extract_r123(out, in);
|
||||
}
|
||||
}
|
||||
|
||||
if (out->boardflags_lo == 0xFFFF)
|
||||
out->boardflags_lo = 0; /* per specs */
|
||||
|
|
Загрузка…
Ссылка в новой задаче