On 2020-01-02 5:18 p.m., Sasha Levin wrote: > On Wed, Jan 01, 2020 at 06:04:06PM +0100, Greg Kroah-Hartman wrote: >> On Thu, Dec 19, 2019 at 11:27:47AM -0700, Logan Gunthorpe wrote: >>> commit 6acdf7e19b37cb3a9258603d0eab315079c19c5e upstream. >>> >>> The part_event_bitmap register is 64 bits wide, so read it with >>> ioread64() >>> instead of the 32-bit ioread32(). >>> >>> Fixes: 52eabba5bcdb ("switchtec: Add IOCTLs to the Switchtec driver") >>> Link: >>> https://lore.kernel.org/r/20190910195833.3891-1-logang@xxxxxxxxxxxx >>> Reported-by: Doug Meyer <dmeyer@xxxxxxxxxx> >>> Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> >>> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> >>> Cc: stable@xxxxxxxxxxxxxxx # v4.12+ >>> Cc: Kelvin Cao <Kelvin.Cao@xxxxxxxxxxxxx> >>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >>> --- >>> >>> ioread64() was introduced in v5.1 so the upstream patch won't compile on >>> stable versions 4.14 or 4.19. This is the same patch but uses readq() >>> which should be equivalent. >> >> Now queued up, thanks. > > Hey Logan, > > As Guenter has pointed out, readq() is only defined for 64 bits, so this > breaks compilation in i386. I've dropped this backport for now, if you > could fix it up we could queue it up again. Not quiet true. It is in fact defined for 32-bit architectures as two readl() calls in "linux/io-64-nonatomic-lo-hi.h". So, unless I'm missing something the patch should be fine. Logan