| From f2205d8cec31aba58d15de487a129d0bf0eac4db Mon Sep 17 00:00:00 2001 |
| From: Logan Gunthorpe <logang@deltatee.com> |
| Date: Mon, 6 Jan 2020 12:03:27 -0700 |
| Subject: [PATCH] PCI/switchtec: Fix vep_vector_number ioread width |
| |
| commit 9375646b4cf03aee81bc6c305aa18cc80b682796 upstream. |
| |
| vep_vector_number is actually a 16 bit register which should be read with |
| ioread16() instead of ioread32(). |
| |
| Fixes: 080b47def5e5 ("MicroSemi Switchtec management interface driver") |
| Link: https://lore.kernel.org/r/20200106190337.2428-3-logang@deltatee.com |
| Reported-by: Doug Meyer <dmeyer@gigaio.com> |
| Signed-off-by: Logan Gunthorpe <logang@deltatee.com> |
| Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c |
| index 43d95280cf12..e0936fd24594 100644 |
| --- a/drivers/pci/switch/switchtec.c |
| +++ b/drivers/pci/switch/switchtec.c |
| @@ -1268,7 +1268,7 @@ static int switchtec_init_isr(struct switchtec_dev *stdev) |
| if (nvecs < 0) |
| return nvecs; |
| |
| - event_irq = ioread32(&stdev->mmio_part_cfg->vep_vector_number); |
| + event_irq = ioread16(&stdev->mmio_part_cfg->vep_vector_number); |
| if (event_irq < 0 || event_irq >= nvecs) |
| return -EFAULT; |
| |
| -- |
| 2.7.4 |
| |