Message ID | 20190910195833.3891-1-logang@deltatee.com (mailing list archive) |
---|---|
State | Mainlined, archived |
Commit | e771e0bf823ffe4e58095bd837ba397edf48448d |
Headers | show |
Series | PCI/switchtec: read all 64bits of part_event_bitmap | expand |
On Tue, Sep 10, 2019 at 01:58:33PM -0600, Logan Gunthorpe wrote: > 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 <dmeyer@gigaio.com> > Signed-off-by: Logan Gunthorpe <logang@deltatee.com> > Cc: Bjorn Helgaas <bhelgaas@google.com> > Cc: Kelvin Cao <Kelvin.Cao@microchip.com> Applied to pci/switchtec for v5.5, thanks! I added: Fixes: 52eabba5bcdb ("switchtec: Add IOCTLs to the Switchtec driver") Cc: stable@vger.kernel.org # v4.12+ Object if you don't want those. > --- > 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 >
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++) {
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 <dmeyer@gigaio.com> Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Kelvin Cao <Kelvin.Cao@microchip.com> --- drivers/pci/switch/switchtec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)