The part_event_bitmap register is 64 bits wide and should be read with
ioread64 instead of the 32-bit ioread32.

Reported-by: Doug Meyer <dme...@gigaio.com>
Signed-off-by: Logan Gunthorpe <log...@deltatee.com>
Cc: Bjorn Helgaas <bhelg...@google.com>
Cc: Kelvin Cao <kelvin....@microchip.com>
---
 drivers/pci/switch/switchtec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c
index 8c94cd3fd1f2..465d6afd826e 100644
--- a/drivers/pci/switch/switchtec.c
+++ b/drivers/pci/switch/switchtec.c
@@ -675,7 +675,7 @@ static int ioctl_event_summary(struct switchtec_dev *stdev,
                return -ENOMEM;
 
        s->global = ioread32(&stdev->mmio_sw_event->global_summary);
-       s->part_bitmap = ioread32(&stdev->mmio_sw_event->part_event_bitmap);
+       s->part_bitmap = ioread64(&stdev->mmio_sw_event->part_event_bitmap);
        s->local_part = ioread32(&stdev->mmio_part_cfg->part_event_summary);
 
        for (i = 0; i < stdev->partition_count; i++) {
-- 
2.20.1

Reply via email to