diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2011-07-01 22:35:28 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-07-05 15:26:55 -0400 |
commit | 304e21bbeab0d208dc7e6142fb75db8a466d5217 (patch) | |
tree | 833e5912fdbc6314ff4292b9393ca60ee46e612e | |
parent | 45a771385ceb644941b195f37ab98f7db39776bd (diff) | |
download | linux-stable-304e21bbeab0d208dc7e6142fb75db8a466d5217.tar.gz linux-stable-304e21bbeab0d208dc7e6142fb75db8a466d5217.tar.bz2 linux-stable-304e21bbeab0d208dc7e6142fb75db8a466d5217.zip |
ssb: PCI revision ID register is 8-bit wide
The SSB code reads PCI revision ID register as 16-bit entity while the register
is actually 8-bit only (the next 8 bits are the programming interface register).
Fix the read and make the 'rev' field of 'struct ssb_boardinfo' 8-bit as well,
to match the register size.
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/ssb/pci.c | 2 | ||||
-rw-r--r-- | include/linux/ssb/ssb.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ssb/pci.c b/drivers/ssb/pci.c index 7ad48585c5e6..52b1ceb748c7 100644 --- a/drivers/ssb/pci.c +++ b/drivers/ssb/pci.c @@ -738,7 +738,7 @@ static void ssb_pci_get_boardinfo(struct ssb_bus *bus, &bi->vendor); pci_read_config_word(bus->host_pci, PCI_SUBSYSTEM_ID, &bi->type); - pci_read_config_word(bus->host_pci, PCI_REVISION_ID, + pci_read_config_byte(bus->host_pci, PCI_REVISION_ID, &bi->rev); } diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h index 252e44821787..b0928c10111b 100644 --- a/include/linux/ssb/ssb.h +++ b/include/linux/ssb/ssb.h @@ -99,7 +99,7 @@ struct ssb_sprom { struct ssb_boardinfo { u16 vendor; u16 type; - u16 rev; + u8 rev; }; |