On 2023/1/19 17:55, Suzuki K Poulose wrote: > On 19/01/2023 09:10, Yicong Yang wrote: >> Hi Suzuki, >> >> Any comments or is it ok to pick these two patches? >> Hope to not miss this cycle since there's one fix :) > > Apologies, I will queue this, once I clear my queue. Never mind! Thanks a lot for taking this! > > Thanks > Suzuki > > >> >> Thanks, >> Yicong >> >> On 2023/1/12 19:22, Yicong Yang wrote: >>> From: Yicong Yang <yangyicong@xxxxxxxxxxxxx> >>> >>> The PTT device can only support the devices on the same PCIe core, >>> within BDF range [lower_bdf, upper_bdf]. It's not correct to assume >>> the devices on the root bus are from the same PCIe core, there are >>> cases that root ports from different PCIe core are sharing the same >>> bus. So check when initializing the filters list. >>> >>> Fixes: ff0de066b463 ("hwtracing: hisi_ptt: Add trace function support for HiSilicon PCIe Tune and Trace device") >>> Signed-off-by: Yicong Yang <yangyicong@xxxxxxxxxxxxx> >>> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> >>> --- >>> Change since v2: >>> - Refine the commit per Bjorn >>> Link: https://lore.kernel.org/linux-pci/20230110130833.53474-1-yangyicong@xxxxxxxxxx/ >>> >>> Change since v1: >>> - Add tags from Jonathan >>> Link: https://lore.kernel.org/linux-pci/20221122120209.25682-1-yangyicong@xxxxxxxxxx/raw >>> >>> drivers/hwtracing/ptt/hisi_ptt.c | 10 ++++++++++ >>> 1 file changed, 10 insertions(+) >>> >>> diff --git a/drivers/hwtracing/ptt/hisi_ptt.c b/drivers/hwtracing/ptt/hisi_ptt.c >>> index 5d5526aa60c4..30f1525639b5 100644 >>> --- a/drivers/hwtracing/ptt/hisi_ptt.c >>> +++ b/drivers/hwtracing/ptt/hisi_ptt.c >>> @@ -356,8 +356,18 @@ static int hisi_ptt_register_irq(struct hisi_ptt *hisi_ptt) >>> static int hisi_ptt_init_filters(struct pci_dev *pdev, void *data) >>> { >>> + struct pci_dev *root_port = pcie_find_root_port(pdev); >>> struct hisi_ptt_filter_desc *filter; >>> struct hisi_ptt *hisi_ptt = data; >>> + u32 port_devid; >>> + >>> + if (!root_port) >>> + return 0; >>> + >>> + port_devid = PCI_DEVID(root_port->bus->number, root_port->devfn); >>> + if (port_devid < hisi_ptt->lower_bdf || >>> + port_devid > hisi_ptt->upper_bdf) >>> + return 0; >>> /* >>> * We won't fail the probe if filter allocation failed here. The filters >>> > > > .