Hi folks, sorry for the lateness, unfortunately this is in fact broken
on BE. I use mpt3sas on sparc and my drives fail to come up on 5.19,
bisected to this patchset. Reverting both of the endian-related
commits, b4efbec4c2a75b619fae4e8768be379e88c78687 and
7ab4d2441b952977556672c2fe3f4c2a698cbb37, allows it to boot. However,
after booting, I can't load any modules - everything errors with
"disagrees about version of symbol module_layout". I have completely
wiped out kernel sources, the module tree, and the kernel image,
rebuilding both from scratch with ONLY the revert patch applied, but I
still can't load any modules. Presumably it would work with
CONFIG_MODVERSIONS=n, but these CRC checks are there for a reason and I
can't tell if it has something to do with the revert or not.
$ modprobe --dump-modversions
/lib/modules/5.19.0-gentoo-sparc64/kernel/fs/openpromfs/openpromfs.ko |
grep "module_layout"
0xa6c23707 module_layout
$ grep "module_layout" /usr/src/linux/Module.symvers
0xa6c23707 module_layout vmlinux EXPORT_SYMBOL
If you need real hardware access and do not have any on hand, please
reach out and I can provide temporary access!
Here is the full error on vanilla 5.19:
mpt3sas version 42.100.00.00 loaded
mpt2sas_cm0: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem
(32650280 kB)
mpt2sas_cm0: _base_wait_for_doorbell_not_used: failed due to timeout
count(5000), doorbell_reg(18000000)!
mpt2sas_cm0: CurrentHostPageSize is 0: Setting default host page size to
4k
mpt2sas_cm0: MSI-X vectors supported: 1
no of cores: 64, max_msix_vectors: -1
mpt2sas_cm0: 0 1 1
mpt2sas_cm0: pci_alloc_irq_vectors failed (r=-22) !!!
mpt2sas_cm0: High IOPs queues : disabled
mpt2sas0: IO-APIC enabled: IRQ 4
mpt2sas_cm0: iomem(0x0000084100000000), mapped(0x(____ptrval____)),
size(16384)
mpt2sas_cm0: ioport(0x0000085100000000), size(256)
mpt2sas_cm0: doorbell is in use (line=6869)
mpt2sas_cm0: _base_get_ioc_facts: handshake failed (r=-14)
mpt2sas_cm0: failure at
drivers/scsi/mpt3sas/mpt3sas_scsih.c:12336/_scsih_probe()!
mpt2sas_cm1: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem
(32650280 kB)
mpt2sas_cm1: _base_wait_for_doorbell_not_used: failed due to timeout
count(5000), doorbell_reg(18000000)!
mpt2sas_cm1: CurrentHostPageSize is 0: Setting default host page size to
4k
mpt2sas_cm1: MSI-X vectors supported: 1
no of cores: 64, max_msix_vectors: -1
mpt2sas_cm1: 0 1 1
mpt2sas_cm1: pci_alloc_irq_vectors failed (r=-22) !!!
mpt2sas_cm1: High IOPs queues : disabled
mpt2sas1: IO-APIC enabled: IRQ 5
mpt2sas_cm1: iomem(0x0000084120000000), mapped(0x(____ptrval____)),
size(16384)
mpt2sas_cm1: ioport(0x0000085100002000), size(256)
mpt2sas_cm1: doorbell is in use (line=6869)
mpt2sas_cm1: _base_get_ioc_facts: handshake failed (r=-14)
mpt2sas_cm1: failure at
drivers/scsi/mpt3sas/mpt3sas_scsih.c:12336/_scsih_probe()!
-------- Original Message --------
Subject: Re: [PATCH v3 0/5] Fix mpt3sas driver sparse warnings
Date: 2022-03-09 01:35
From: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxx>
To: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
On Wed, Mar 9, 2022 at 9:26 AM Martin K. Petersen
<martin.petersen@xxxxxxxxxx> wrote:
Sreekanth,
> This series fix (remove) all sparse warnings generated when compiling
> the mpt3sas driver. All warnings are related to __iomem access and
> endianness.
Please review this series and validate the patch 5 modification.
Martin,
This patch set looks good, but before acknowledging this patch set I
just wanted to do some basic testing on a big endian machine.
Currently I don't have a big endian machine, internally I am checking
to get access to big endian machines. Meanwhile if anyone does a basic
testing on any big endian machine then please let me know. I will add
the acknowledgement signature.
Thanks,
Sreekanth
Thanks!
--
Martin K. Petersen Oracle Linux Engineering