diff mbox series

PCI/switchtec: read all 64bits of part_event_bitmap

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

Commit Message

Logan Gunthorpe Sept. 10, 2019, 7:58 p.m. UTC
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(-)

Comments

Bjorn Helgaas Sept. 30, 2019, 10:37 p.m. UTC | #1
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 mbox series

Patch

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++) {