aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@chromium.org>2016-07-29 18:19:46 +0200
committerMartin Roth <martinroth@google.com>2016-07-31 19:19:33 +0200
commit21ce6efe289ecc8eb6f047ceb3c3c25303e7272e (patch)
treebbc1b02fbb1e8d68b9888d9f764ac657f94f5d3d
parente8c413318f6c4d4297b774ca129cd0a63cec4422 (diff)
sis/sis966: don't store a 32bit value in a 16bit variable
That only makes deviceid == 0 (because shifting a 16bit value by 16 bits, well...) Change-Id: Iddca1de20760f92f70fe2d05886b488e5b48313d Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Found-by: Coverity Scan #1229558 Reviewed-on: https://review.coreboot.org/15960 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
-rw-r--r--src/southbridge/sis/sis966/sis966.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/southbridge/sis/sis966/sis966.c b/src/southbridge/sis/sis966/sis966.c
index 308c604abb..6ac15db414 100644
--- a/src/southbridge/sis/sis966/sis966.c
+++ b/src/southbridge/sis/sis966/sis966.c
@@ -71,9 +71,9 @@ void sis966_enable(device_t dev)
int i;
if(dev->device==0x0000) {
- vendorid = pci_read_config32(dev, PCI_VENDOR_ID);
- deviceid = (vendorid>>16) & 0xffff;
-// vendorid &= 0xffff;
+ reg = pci_read_config32(dev, PCI_VENDOR_ID);
+ deviceid = (reg >> 16) & 0xffff;
+ vendorid = reg & 0xffff;
} else {
// vendorid = dev->vendor;
deviceid = dev->device;