summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2008-04-19 17:52:12 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-04-23 21:25:35 -0400
commit4503183aa32e6886400d82282292934fa64a81b0 (patch)
tree5ff1dd907a07b115b70650cf961b0e0f87d6f7b8
parent9fc38458355525f801cd2ab403ac89850489a05e (diff)
downloadop-kernel-dev-4503183aa32e6886400d82282292934fa64a81b0.zip
op-kernel-dev-4503183aa32e6886400d82282292934fa64a81b0.tar.gz
ssb: Fix all-ones boardflags
In the SSB SPROM a field set to all ones means the value is not defined in the SPROM. In case of the boardflags, we need to set them to zero to avoid confusing drivers. Drivers will only check the flags by ANDing. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Gabor Stefanik <netrolller.3d@gmail.com> Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/ssb/pci.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/ssb/pci.c b/drivers/ssb/pci.c
index 904b1a8d..57c4ccf 100644
--- a/drivers/ssb/pci.c
+++ b/drivers/ssb/pci.c
@@ -484,6 +484,11 @@ static int sprom_extract(struct ssb_bus *bus, struct ssb_sprom *out,
goto unsupported;
}
+ if (out->boardflags_lo == 0xFFFF)
+ out->boardflags_lo = 0; /* per specs */
+ if (out->boardflags_hi == 0xFFFF)
+ out->boardflags_hi = 0; /* per specs */
+
return 0;
unsupported:
ssb_printk(KERN_WARNING PFX "Unsupported SPROM revision %d "
OpenPOWER on IntegriCloud