Re: [PATCH] pci: shpchp: set the bridge busmaster if MSI are enabled

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

 





On 19/07/2017 16:36, Marcel Apfelbaum wrote:
On 18/07/2017 17:12, Aleksandr Bezzubikov wrote:
An MSI-based SHPC built in PCI bridges can configure hotplugged devices
only if they notify the bridge with MSI.
But they can't trigger interrupt without the bridge being busmaster,
that's why it should be enabled.

Hi Aleksandr,

Hot-plugging an empty bridge does require making it bus-master,
otherwise we end up with an unusable pci brigde.


Signed-off-by: Aleksandr Bezzubikov <zuban32s@xxxxxxxxx>
---
  drivers/pci/hotplug/shpchp_hpc.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c
index de0ea47..e5824c7 100644
--- a/drivers/pci/hotplug/shpchp_hpc.c
+++ b/drivers/pci/hotplug/shpchp_hpc.c
@@ -1062,6 +1062,8 @@ int shpc_init(struct controller *ctrl, struct pci_dev *pdev)
          if (rc) {
ctrl_info(ctrl, "Can't get msi for the hotplug controller\n");
              ctrl_info(ctrl, "Use INTx for the hotplug controller\n");
+        } else {
+            pci_set_master(pdev);
          }
          rc = request_irq(ctrl->pci_dev->irq, shpc_isr, IRQF_SHARED,



I am not really familiar with the shpc code,
but the change looks OK to me.

Reviewed-by: Marcel Apfelbaum <marcel@xxxxxxxxxx>


Hi,

Since is a fix:
Cc: stable@xxxxxxxxxxxxxxx

Thanks,
Marcel

Thanks,
Marcel



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]