summaryrefslogtreecommitdiffstats
path: root/drivers/ssb
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-24 03:25:35 +0200
commit4503183aa32e6886400d82282292934fa64a81b0 (patch)
tree5ff1dd907a07b115b70650cf961b0e0f87d6f7b8 /drivers/ssb
parentb43: Add more btcoexist workarounds (diff)
downloadlinux-4503183aa32e6886400d82282292934fa64a81b0.tar.xz
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>
Diffstat (limited to 'drivers/ssb')
-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 "