• Kishon Vijay Abraham I's avatar
    PCI: designware-ep: Fix ->get_msi() to check MSI_EN bit · a134a457
    Kishon Vijay Abraham I authored
    ->get_msi() now checks MSI_EN bit in the MSI CAPABILITY register to
    find whether the host supports MSI instead of using the
    MSI ADDRESS in the MSI CAPABILITY register.
    
    This fixes the issue with the following sequence
      'modprobe pci_endpoint_test' enables MSI
      'rmmod pci_endpoint_test' disables MSI but MSI address (in EP's
    	capability register) has a valid value
      'modprobe pci_endpoint_test no_msi=1' - Since MSI address (in EP's
    	capability register) has a valid value (set during the previous
    	insertion of the module), EP thinks host supports MSI.
    
    Fixes: f8aed6ec ("PCI: dwc: designware: Add EP mode support")
    Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    a134a457
pcie-designware-ep.c 8.66 KB