On Thu, 31 Oct 2024 13:54:08 +0100 Magnus Lindholm <linmag7@xxxxxxxxx> wrote: > In order to prevent file system corruption on disks attached > to 32-bit ISP1020/1040 cards in 64-bit enabled systems, while maintaing the > possibility to run other qlogic cards in 64-bit mode, limit DMA_BIT_MASK to 32-bit. > [..] > #ifdef QLA_64BIT_PTR > - if (dma_set_mask_and_coherent(&ha->pdev->dev, DMA_BIT_MASK(64))) { > - if (dma_set_mask(&ha->pdev->dev, DMA_BIT_MASK(32))) { > + /* for 1020 and 1040, force 32-bit DMA mask */ > + if (IS_ISP1040(ha)) > + mask = DMA_BIT_MASK(32); > + else > + mask = DMA_BIT_MASK(64); this breaks SGI Octane and SGI Origin systems: qla1280: QLA1040 found on PCI bus 0, dev 0 qla1280 0000:00:00.0: enabling device (0006 -> 0007) qla1280: Failed to get request memory qla1280 0000:00:00.0: probe with driver qla1280 failed with error -12 qla1280: QLA1040 found on PCI bus 0, dev 1 qla1280 0000:00:01.0: enabling device (0006 -> 0007) qla1280: Failed to get request memory qla1280 0000:00:01.0: probe with driver qla1280 failed with error -12 They need 64bit DMA addresses. Thomas. -- SUSE Software Solutions Germany GmbH HRB 36809 (AG Nürnberg) Geschäftsführer: Ivo Totev, Andrew McDonald, Werner Knoblich