Re: [PATCH v2 00/11] PCI: Fix ATS deadlock

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

 



On Mon, Aug 10, 2015 at 10:33 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
...
> Huh, I don't see anything obvious there.  Where does it hang?  Boot?
> Driver attach?  Can you give me any hints, or maybe try the attached patch?
> Is there anything funny about those particular devices?  Maybe some
> "lspci -vv" output?

with debug patch:

[   79.691788] calling  qla2x00_module_init+0x0/0x21c @ 1
[   79.711206] qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA
Driver: 8.07.00.18-k.
[   79.731379] qla2xxx [0000:45:00.0]-001d: : Found an ISP2532 irq 30
iobase 0xffffc900311ae000.
[   79.733945] qla2xxx 0000:45:00.0: enabling Mem-Wr-Inval
[   82.381363] qla2xxx 0000:45:00.0: flush; cached ena 0 qdep 0,
current ena 0 qdep -19
[   82.397008] qla2xxx 0000:45:00.0: flush; cached ena 0 qdep 0,
current ena 0 qdep -19
[   82.621261] qla2xxx 0000:45:00.0: flush; cached ena 0 qdep 0,
current ena 0 qdep -19
[   82.625717] scsi host0: qla2xxx
[   87.646633] qla2xxx [0000:45:00.0]-00fb:0: QLogic QEM3572 -
SG-XPCIEFCGBE-Q8-Z Sun StorageTek Dual 8Gb FC Dual GbE HBA.
[   87.647145] qla2xxx [0000:45:00.0]-00fc:0: ISP2532: PCIe (5.0GT/s
x8) @ 0000:45:00.0 hdma+ host#=0 fw=5.10.00 (90d5).
[   87.663408] qla2xxx [0000:45:00.1]-001d: : Found an ISP2532 irq 31
iobase 0xffffc9003120e000.
[   87.684329] qla2xxx 0000:45:00.1: enabling Mem-Wr-Inval
[   90.331021] qla2xxx 0000:45:00.1: flush; cached ena 1 qdep 121,
current ena 0 qdep -19
...


Looks like ats in the device_domain_info is not initialized to 0.
after set it 0, it will work.


Index: linux-2.6/drivers/iommu/intel-iommu.c
===================================================================
--- linux-2.6.orig/drivers/iommu/intel-iommu.c
+++ linux-2.6/drivers/iommu/intel-iommu.c
@@ -2281,6 +2292,8 @@ static struct dmar_domain *dmar_insert_d
        info->dev = dev;
        info->domain = domain;
        info->iommu = iommu;
+       info->ats.enabled = 0;
+       info->ats.qdep = 0;

        spin_lock_irqsave(&device_domain_lock, flags);
        if (dev)
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux