summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Finger2008-04-19 17:52:12 +0200
committerJohn W. Linville2008-04-24 03:25:35 +0200
commit4503183aa32e6886400d82282292934fa64a81b0 (patch)
tree5ff1dd907a07b115b70650cf961b0e0f87d6f7b8
parentb43: Add more btcoexist workarounds (diff)
downloadkernel-qcow2-linux-4503183aa32e6886400d82282292934fa64a81b0.tar.gz
kernel-qcow2-linux-4503183aa32e6886400d82282292934fa64a81b0.tar.xz
kernel-qcow2-linux-4503183aa32e6886400d82282292934fa64a81b0.zip
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 904b1a8d0885..57c4ccfab1ee 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 "