> On Tue, Aug 27, 2013 at 12:02 PM, Keller, Jacob E > >> > From: Jiang Liu <jiang.liu@xxxxxxxxxx> > >> > --- > >> > Hi Bjorn, > >> > Yuval has a PCIe 1.0 swither, so triggers the bug. I'm not sure > >> > why Yu Zhao has implemented pcie_cap_has_linctl() in that way, any > special > >> > consideration here? > >> > > >> > Hi Yuval, > >> > Could you please help to test this patch? Due to hardware resource > >> > constraints, I have just compiled the patch on my laptop without testing. > >> > Hi, Don't know whether your fix is correct or not (I'm leaving that to you PCI guys), but it solved my issue - width now returns as x4. Thanks. Tested-by: Yuval Mintz <yuvalmin@xxxxxxxxxxxx> > >> > Thanks! > >> > > >> > --- > >> > drivers/pci/access.c | 12 ++++++++---- > >> > 1 file changed, 8 insertions(+), 4 deletions(-) > >> > > >> > diff --git a/drivers/pci/access.c b/drivers/pci/access.c > >> > index 1cc2366..23ff366 100644 > >> > --- a/drivers/pci/access.c > >> > +++ b/drivers/pci/access.c > >> > @@ -484,10 +484,14 @@ static inline bool pcie_cap_has_lnkctl(const > struct pci_dev *dev) > >> > { > >> > int type = pci_pcie_type(dev); > >> > > >> > - return pcie_cap_version(dev) > 1 || > >> > - type == PCI_EXP_TYPE_ROOT_PORT || > >> > - type == PCI_EXP_TYPE_ENDPOINT || > >> > - type == PCI_EXP_TYPE_LEG_END; > >> > + return pcie_cap_version(dev) == 1 || > >> > + type == PCI_EXP_TYPE_ENDPOINT || > >> > + type == PCI_EXP_TYPE_LEG_END || > >> > + type == PCI_EXP_TYPE_ROOT_PORT || > >> > + type == PCI_EXP_TYPE_UPSTREAM || > >> > + type == PCI_EXP_TYPE_DOWNSTREAM || > >> > + type == PCI_EXP_TYPE_PCI_BRIDGE || > >> > + type == PCI_EXP_TYPE_PCIE_BRIDGE; > >> > } > >> > > >> > static inline bool pcie_cap_has_sltctl(const struct pci_dev *dev) > >> > -- > >> > 1.8.1.2 > >> > > > > > -- 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