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>
This commit is contained in:
parent
e8c413318f
commit
21ce6efe28
|
@ -71,9 +71,9 @@ void sis966_enable(device_t dev)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if(dev->device==0x0000) {
|
if(dev->device==0x0000) {
|
||||||
vendorid = pci_read_config32(dev, PCI_VENDOR_ID);
|
reg = pci_read_config32(dev, PCI_VENDOR_ID);
|
||||||
deviceid = (vendorid>>16) & 0xffff;
|
deviceid = (reg >> 16) & 0xffff;
|
||||||
// vendorid &= 0xffff;
|
vendorid = reg & 0xffff;
|
||||||
} else {
|
} else {
|
||||||
// vendorid = dev->vendor;
|
// vendorid = dev->vendor;
|
||||||
deviceid = dev->device;
|
deviceid = dev->device;
|
||||||
|
|
Loading…
Reference in New Issue