From: Logan Gunthorpe Date: Mon, 6 Jan 2020 19:03:27 +0000 (-0700) Subject: PCI/switchtec: Fix vep_vector_number ioread width X-Git-Tag: v4.19.104~45 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=239514d16ff776eed0e4e8513d3abd6895c7c718;p=thirdparty%2Fkernel%2Fstable.git 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 Signed-off-by: Logan Gunthorpe Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c index ceb7ab3ba3d09..43431816412c1 100644 --- a/drivers/pci/switch/switchtec.c +++ b/drivers/pci/switch/switchtec.c @@ -1186,7 +1186,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;