[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Report in downstream Debian: mpt3sas broken with xen dom0 with update to 5.10.149 in 5.10.y.
- To: jejb@xxxxxxxxxxxxx, Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxx>, Bart Van Assche <bvanassche@xxxxxxx>
- From: Juergen Gross <jgross@xxxxxxxx>
- Date: Tue, 25 Oct 2022 06:32:11 +0200
- Cc: Salvatore Bonaccorso <carnil@xxxxxxxxxx>, sathya.prakash@xxxxxxxxxxxx, suganath-prabu.subramani@xxxxxxxxxxxx, "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>, MPT-FusionLinux.pdl@xxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, adi@xxxxxxxxxxxx
- Delivery-date: Tue, 25 Oct 2022 04:32:29 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 24.10.22 20:50, James Bottomley wrote:
On Mon, 2022-10-24 at 14:55 +0200, Juergen Gross wrote:
[...]
Please recheck the backported patch in 5.10.y. It is _wrong_. The
backport
has:
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -2993,7 +2993,7 @@ _base_config_dma_addressing(struct
MPT3SAS_ADAPTER *ioc,
struct pci_dev *pdev)
if (ioc->is_mcpu_endpoint ||
sizeof(dma_addr_t) == 4 || ioc->use_32bit_dma ||
- dma_get_required_mask(&pdev->dev) <= 32)
+ dma_get_required_mask(&pdev->dev) <= DMA_BIT_MASK(32))
ioc->dma_mask = 32;
/* Set 63 bit DMA mask for all SAS3 and SAS35 controllers */
else if (ioc->hba_mpi_version_belonged > MPI2_VERSION)
While the upstream patch has:
+ if (ioc->is_mcpu_endpoint || sizeof(dma_addr_t) == 4 ||
+ dma_get_required_mask(&pdev->dev) <= 32) {
ioc->dma_mask = 32;
+ coherent_dma_mask = dma_mask = DMA_BIT_MASK(32);
That's not the upstream commit. The quoted upstream patch in the
stable commit is:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e0e0747de0ea3dd87cdbb0393311e17471a9baf1
Which has the same diff as you quoted for the stable tree.
Hmm, something is fishy here.
Looking at the source in current HEAD of Linus' tree shows me:
static int
_base_config_dma_addressing(struct MPT3SAS_ADAPTER *ioc, struct pci_dev *pdev)
{
struct sysinfo s;
u64 coherent_dma_mask, dma_mask;
if (ioc->is_mcpu_endpoint || sizeof(dma_addr_t) == 4 ||
dma_get_required_mask(&pdev->dev) <= 32) {
ioc->dma_mask = 32;
coherent_dma_mask = dma_mask = DMA_BIT_MASK(32);
/* Set 63 bit DMA mask for all SAS3 and SAS35 controllers */
This doesn't look like commit e0e0747de0ea3dd has been applied.
git log drivers/scsi/mpt3sas/mpt3sas_base.c doesn't show it either.
git name-rev e0e0747de0ea3dd tells me it should be in v6.0-rc7.
Juergen
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature
|