Re: [PATCH] PCI/switchtec: read all 64bits of part_event_bitmap

From: Bjorn Helgaas
Date: Mon Sep 30 2019 - 18:37:50 EST


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@xxxxxxxxxx>
> Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>
> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Cc: Kelvin Cao <Kelvin.Cao@xxxxxxxxxxxxx>

Applied to pci/switchtec for v5.5, thanks!

I added:

Fixes: 52eabba5bcdb ("switchtec: Add IOCTLs to the Switchtec driver")
Cc: stable@xxxxxxxxxxxxxxx # 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
>