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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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






[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux