* [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware @ 2016-08-23 6:01 Po Liu 2016-08-24 20:50 ` Bjorn Helgaas 2016-08-29 7:26 ` [PATCH v2] arm64:pci: fix the IOV device access config space valid condition Po Liu 0 siblings, 2 replies; 13+ messages in thread From: Po Liu @ 2016-08-23 6:01 UTC (permalink / raw) To: linux-pci Cc: Roy Zang, Arnd Bergmann, Po Liu, Stuart Yoder, Yang-Leo Li, linux-arm-kernel, Bjorn Helgaas, Mingkai Hu When echo a number to /sys/bus/pci/devices/xxx/sriov_numvfs to enable the VF devices. A crash log occurred. This found to be access the IOV devices config space failure issue. The read/write config space from host would judge the pcie device plugin or not by: if (bus->primary == pp->root_bus_nr && dev > 0) return 0; Although all pcie devices for dev(coming from the device and function number) is zero. But the dev is not zero for VF. So remove the condition. Signed-off-by: Po Liu <po.liu@nxp.com> --- drivers/pci/host/pcie-designware.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c index 12afce1..dd20eb2 100644 --- a/drivers/pci/host/pcie-designware.c +++ b/drivers/pci/host/pcie-designware.c @@ -670,13 +670,6 @@ static int dw_pcie_valid_config(struct pcie_port *pp, if (bus->number == pp->root_bus_nr && dev > 0) return 0; - /* - * do not read more than one device on the bus directly attached - * to RC's (Virtual Bridge's) DS side. - */ - if (bus->primary == pp->root_bus_nr && dev > 0) - return 0; - return 1; } -- 2.1.0.27.g96db324 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware 2016-08-23 6:01 [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware Po Liu @ 2016-08-24 20:50 ` Bjorn Helgaas 2016-08-25 4:53 ` Po Liu 2016-08-29 7:26 ` [PATCH v2] arm64:pci: fix the IOV device access config space valid condition Po Liu 1 sibling, 1 reply; 13+ messages in thread From: Bjorn Helgaas @ 2016-08-24 20:50 UTC (permalink / raw) To: Po Liu Cc: Sören Brinkmann, Roy Zang, Arnd Bergmann, linux-pci, Pratyush Anand, Stuart Yoder, Yang-Leo Li, Mingkai Hu, Jingoo Han, Bjorn Helgaas, Ley Foon Tan, Michal Simek, linux-arm-kernel [+cc Jingoo, Pratyush, Michal, S=F6ren, Ley] On Tue, Aug 23, 2016 at 02:01:12PM +0800, Po Liu wrote: > When echo a number to /sys/bus/pci/devices/xxx/sriov_numvfs to enable the > VF devices. A crash log occurred. This found to be access the IOV devices > config space failure issue. What was the actual crash? The mere fact that we made a config read fail should not cause a crash. We might erroneously prevent access to VF devices, but it shouldn't crash. So maybe there's another bug elsewhere that we should fix first. > The read/write config space from host would judge the pcie device plugin > or not by: > = > if (bus->primary =3D=3D pp->root_bus_nr && dev > 0) > return 0; I'm guessing other drivers have the same issue, e.g., altera_pcie_valid_config(), xilinx_pcie_valid_device(). Can you look through them and fix them all at once? > Although all pcie devices for dev(coming from the device and function > number) is zero. But the dev is not zero for VF. So remove the > condition. > = > Signed-off-by: Po Liu <po.liu@nxp.com> > --- > drivers/pci/host/pcie-designware.c | 7 ------- > 1 file changed, 7 deletions(-) > = > diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-d= esignware.c > index 12afce1..dd20eb2 100644 > --- a/drivers/pci/host/pcie-designware.c > +++ b/drivers/pci/host/pcie-designware.c > @@ -670,13 +670,6 @@ static int dw_pcie_valid_config(struct pcie_port *pp, > if (bus->number =3D=3D pp->root_bus_nr && dev > 0) > return 0; > = > - /* > - * do not read more than one device on the bus directly attached > - * to RC's (Virtual Bridge's) DS side. > - */ > - if (bus->primary =3D=3D pp->root_bus_nr && dev > 0) > - return 0; > - > return 1; > } > = > -- = > 2.1.0.27.g96db324 > = > = > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware 2016-08-24 20:50 ` Bjorn Helgaas @ 2016-08-25 4:53 ` Po Liu 2016-08-25 18:09 ` Bjorn Helgaas 0 siblings, 1 reply; 13+ messages in thread From: Po Liu @ 2016-08-25 4:53 UTC (permalink / raw) To: Bjorn Helgaas Cc: S?ren Brinkmann, Roy Zang, Arnd Bergmann, linux-pci@vger.kernel.org, Pratyush Anand, Stuart Yoder, Yang-Leo Li, Mingkai Hu, Jingoo Han, Bjorn Helgaas, Ley Foon Tan, Michal Simek, linux-arm-kernel@lists.infradead.org SGkgQmpvcm4sDQoNCg0KQmVzdCByZWdhcmRzLA0KTGl1IFBvDQoNCj4gIC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ICBGcm9tOiBCam9ybiBIZWxnYWFzIFttYWlsdG86aGVsZ2Fhc0BrZXJu ZWwub3JnXQ0KPiAgU2VudDogVGh1cnNkYXksIEF1Z3VzdCAyNSwgMjAxNiA0OjUxIEFNDQo+ICBU bzogUG8gTGl1DQo+ICBDYzogbGludXgtcGNpQHZnZXIua2VybmVsLm9yZzsgUm95IFphbmc7IEFy bmQgQmVyZ21hbm47IFN0dWFydCBZb2RlcjsNCj4gIFlhbmctTGVvIExpOyBsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IEJqb3JuIEhlbGdhYXM7DQo+ICBNaW5na2FpIEh1OyBM ZXkgRm9vbiBUYW47IE1pY2hhbCBTaW1lazsgU8O2cmVuIEJyaW5rbWFubjsgSmluZ29vIEhhbjsN Cj4gIFByYXR5dXNoIEFuYW5kDQo+ICBTdWJqZWN0OiBSZTogW1BBVENIIHYxXSBhcm02NDpwY2k6 IGZpeCB0aGUgSU9WIGRldmljZSBlbmFibGVkIGNyYXNoDQo+ICBpc3N1ZSBpbiBkZXNpZ253YXJl DQo+ICANCj4gIFsrY2MgSmluZ29vLCBQcmF0eXVzaCwgTWljaGFsLCBTw7ZyZW4sIExleV0NCj4g IA0KPiAgT24gVHVlLCBBdWcgMjMsIDIwMTYgYXQgMDI6MDE6MTJQTSArMDgwMCwgUG8gTGl1IHdy b3RlOg0KPiAgPiBXaGVuIGVjaG8gYSBudW1iZXIgdG8gL3N5cy9idXMvcGNpL2RldmljZXMveHh4 L3NyaW92X251bXZmcyB0byBlbmFibGUNCj4gID4gdGhlIFZGIGRldmljZXMuIEEgY3Jhc2ggbG9n IG9jY3VycmVkLiBUaGlzIGZvdW5kIHRvIGJlIGFjY2VzcyB0aGUgSU9WDQo+ICA+IGRldmljZXMg Y29uZmlnIHNwYWNlIGZhaWx1cmUgaXNzdWUuDQo+ICANCj4gIFdoYXQgd2FzIHRoZSBhY3R1YWwg Y3Jhc2g/ICBUaGUgbWVyZSBmYWN0IHRoYXQgd2UgbWFkZSBhIGNvbmZpZyByZWFkDQo+ICBmYWls IHNob3VsZCBub3QgY2F1c2UgYSBjcmFzaC4gIFdlIG1pZ2h0IGVycm9uZW91c2x5IHByZXZlbnQg YWNjZXNzIHRvDQo+ICBWRiBkZXZpY2VzLCBidXQgaXQgc2hvdWxkbid0IGNyYXNoLiAgU28gbWF5 YmUgdGhlcmUncyBhbm90aGVyIGJ1Zw0KPiAgZWxzZXdoZXJlIHRoYXQgd2Ugc2hvdWxkIGZpeCBm aXJzdC4NCg0KSSBidWlsdCB3aXRoIENPTkZJR19QQ0lfSU9WPXkgYW5kIG5vdGljZSBhIGNyYXNo IHdoZW4gSSB1c2UgaXQ6DQoNCmNlbnRxZHMtNjAgY2QgL3N5cy9jbGFzcy9uZXQvDQpjZW50cWRz LTYxIGxzDQplblAxcDFzMEAgZW5QMnAxczBmMEAgZW5QMnAxczBmMUAgbG9AIHNpdDBADQpjZW50 cWRzLTYyIGNkIGVuUDJwMXMwZjEvZGV2aWNlDQpjZW50cWRzLTYzIGxzDQpicm9rZW5fcGFyaXR5 X3N0YXR1cyBkcml2ZXJfb3ZlcnJpZGUgbXNpX2lycXMvIHNyaW92X251bXZmcw0KY2xhc3MgZW5h YmxlIG5ldC8gc3Jpb3ZfdG90YWx2ZnMNCmNvbmZpZyBpb21tdV9ncm91cEAgcG93ZXIvIHN1YnN5 c3RlbUANCmNvbnNpc3RlbnRfZG1hX21hc2tfYml0cyBpcnEgcmVtb3ZlIHN1YnN5c3RlbV9kZXZp Y2UNCmRldmljZSBsb2NhbF9jcHVsaXN0IHJlc2NhbiBzdWJzeXN0ZW1fdmVuZG9yDQpkZXZzcGVj IGxvY2FsX2NwdXMgcmVzZXQgdWV2ZW50DQpkbWFfbWFza19iaXRzIG1vZGFsaWFzIHJlc291cmNl IHZlbmRvcg0KZHJpdmVyQCBtc2lfYnVzIHJvbQ0KY2VudHFkcy02NCB6Y2F0IC9wcm9jL2NvbmZp Zy5neiB8IGdyZXAgX0lPVg0KQ09ORklHX1BDSV9JT1Y9eQ0KY2VudHFkcy02NSBzdWRvIHN1DQpb cm9vdEBjZW50cWRzIDAwMDI6MDE6MDAuMV0jIGVjaG8gMiA+IHNyaW92X251bXZmcw0KWyAzMTcu NjA0NTQzXSBpeGdiZSAwMDAyOjAxOjAwLjEgZW5QMnAxczBmMTogU1ItSU9WIGVuYWJsZWQgd2l0 aCAyIFZGcw0KWyAzMTcuNzE0NDMxXSAobnVsbCk6IG9mX2lycV9wYXJzZV9wY2koKSBmYWlsZWQg d2l0aCByYz0xMzQNClsgMzE3LjcxOTkwNl0gLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0t LS0tLQ0KWyAzMTcuNzI0NTI1XSBXQVJOSU5HOiBDUFU6IDYgUElEOiAzMTc5IGF0IGRyaXZlcnMv cGNpL3Byb2JlLmM6MTU1NSBwY2lfZGV2aWNlX2FkZCsweDE0NC8weDE0OCgpDQpbIDMxNy43MzMx MjNdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAzMTcuNzM2MTc1XSBDUFU6IDYgUElEOiAzMTc5IENv bW06IGJhc2ggTm90IHRhaW50ZWQgNC4xLjgtMDAwMjQtZzBhMzJkNjUtZGlydHkgIzMyDQpbIDMx Ny43NDM3MzFdIEhhcmR3YXJlIG5hbWU6IEZyZWVzY2FsZSBMYXllcnNjYXBlIDIwODhhIFFEUyBC b2FyZCAoRFQpDQpbIDMxNy43NTAwNzddIENhbGwgdHJhY2U6DQpbIDMxNy43NTI1MTZdIFs8ZmZm ZmZlMDAwMDA5NmNmOD5dIGR1bXBfYmFja3RyYWNlKzB4MC8weDEyYw0KTWVzc2FnZSBmcm9tWyAz MTcuNzU3OTE2XSBbPGZmZmZmZTAwMDAwOTZlMzQ+XSBzaG93X3N0YWNrKzB4MTAvMHgxYw0Kc3lz bG9nZEBjZW50cWRzWyAzMTcuNzY0MzQxXSBbPGZmZmZmZTAwMDA4OTM3ZmM+XSBkdW1wX3N0YWNr KzB4ODQvMHhkNA0KYXQgSnVsIDI2IDE1OjUxWyAzMTcuNzcwNzcwXSBbPGZmZmZmZTAwMDAwYmU1 OTA+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDk0LzB4Y2MNCjoxMCAuLi4NCmtlcm5lWyAzMTcu Nzc4MDY3XSBbPGZmZmZmZTAwMDAwYmU2OGM+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNC8weDIw DQpsOkNhbGwgdHJhY2U6DQpbIDMxNy43ODUxOTJdIFs8ZmZmZmZlMDAwMDNjNWZhND5dIHBjaV9k ZXZpY2VfYWRkKzB4MTQwLzB4MTQ4DQpbIDMxNy43OTIxMzNdIFs8ZmZmZmZlMDAwMDNkZTc4ND5d IHBjaV9lbmFibGVfc3Jpb3YrMHg0NzAvMHg3YTANClsgMzE3Ljc5Nzg3M10gWzxmZmZmZmUwMDAw NWZhOWRjPl0gaXhnYmVfcGNpX3NyaW92X2NvbmZpZ3VyZSsweDhjLzB4MTQ4DQpbIDMxNy44MDQz MDJdIFs8ZmZmZmZlMDAwMDNjZjM1ND5dIHNyaW92X251bXZmc19zdG9yZSsweDc4LzB4MTFjDQpb IDMxNy44MTAxMjldIFs8ZmZmZmZlMDAwMDQ0M2Q4MD5dIGRldl9hdHRyX3N0b3JlKzB4MTQvMHgy OA0KWyAzMTcuODE1NTIxXSBbPGZmZmZmZTAwMDAyMDAxNjQ+XSBzeXNmc19rZl93cml0ZSsweDQw LzB4NGMNClsgMzE3LjgyMDkwOF0gWzxmZmZmZmUwMDAwMWZmNWVjPl0ga2VybmZzX2ZvcF93cml0 ZSsweGI4LzB4MTgwDQpbIDMxNy44MjY1NjFdIFs8ZmZmZmZlMDAwMDE5YTU2OD5dIF9fdmZzX3dy aXRlKzB4MjgvMHgxMGMNClsgMzE3LjgzMTc3NV0gWzxmZmZmZmUwMDAwMTlhZDAwPl0gdmZzX3dy aXRlKzB4OTAvMHgxYTANClsgMzE3LjgzNjgxOV0gWzxmZmZmZmUwMDAwMTliNTg0Pl0gU3lTX3dy aXRlKzB4NDAvMHhhMA0KWyAzMTcuODQxNzcyXSAtLVsgZW5kIHRyYWNlIDgzNzI1YTk3ODRmZDcw MmEgXS0tDQpbIDMxNy44NDYzOTNdIEJVRzogZmFpbHVyZSBhdCBmcy9zeXNmcy9maWxlLmM6NDgx L3N5c2ZzX2NyZWF0ZV9iaW5fZmlsZSgpIQ0KWyAzMTcuODUzMDgxXSBLZXJuZWwgcGFuaWMgLSBu b3Qgc3luY2luZzogQlVHIQ0KWyAzMTcuODU3MzM5XSBDUFU6IDYgUElEOiAzMTc5IENvbW06IGJh c2ggVGFpbnRlZDogRyBXIDQuMS44LTAwMDI0LWcwYTMyZDY1LWRpcnR5ICMzMg0KWyAzMTcuODY2 MTEwXSBIYXJkd2FyZSBuYW1lOiBGcmVlc2NhbGUgTGF5ZXJzY2FwZSAyMDg4YSBRRFMgQm9hcmQg KERUKQ0KWyAzMTcuODcyNDUxXSBDYWxsIHRyYWNlOg0KWyAzMTcuODc0ODg3XSBbPGZmZmZmZTAw MDAwOTZjZjg+XSBkdW1wX2JhY2t0cmFjZSsweDAvMHgxMmMNClsgMzE3Ljg4MDI3NF0gWzxmZmZm ZmUwMDAwMDk2ZTM0Pl0gc2hvd19zdGFjaysweDEwLzB4MWMNClsgMzE3Ljg4NTMxNV0gWzxmZmZm ZmUwMDAwODkzN2ZjPl0gZHVtcF9zdGFjaysweDg0LzB4ZDQNClsgMzE3Ljg5MDM1NF0gWzxmZmZm ZmUwMDAwODkwOWU4Pl0gcGFuaWMrMHhlNC8weDIxYw0KWyAzMTcuODk1MDQ3XSBbPGZmZmZmZTAw MDAyMDA5ODg+XSBzeXNmc19jcmVhdGVfYmluX2ZpbGUrMHg2MC8weDY0DQpbIDMxNy45MDEwNDFd IFs8ZmZmZmZlMDAwMDNjZjUyYz5dIHBjaV9jcmVhdGVfc3lzZnNfZGV2X2ZpbGVzKzB4NDgvMHgy YTgNClsgMzE3LjkwNzU1Nl0gWzxmZmZmZmUwMDAwM2M0MjM4Pl0gcGNpX2J1c19hZGRfZGV2aWNl KzB4MjAvMHg2Yw0KDQpUaGUgY29kZSBwcm9jZXNzIGlzIHRoYXQ6ICJlY2hvIDIgPiBzcmlvdl9u dW12ZiIgbWFrZXMgZHJpdmVyIGxvYWQgLnNyaW92X2NvbmZpZ3VyZS4gQXQgbGFzdCB0byBsb2Fk IHBjaV9lbmFibGVfc3Jpb3YoKS4NClRoZSBmaXJzdCB0aW1lIHZmIGRldmljZSBvcGVyYXRlIHRo ZSBjb25maWcgc3BhY2UgaW4gdGhlIHBjaV9zZXR1cF9kZXZpY2UoKSAodGhpcyBmdW5jdGlvbiB3 YXMgbG9hZCBpbiB0aGUgdmlydGZuX2FkZCgpKSBpcyBwY2lfcmVhZF9jb25maWdfYnl0ZShkZXYs IFBDSV9IRUFERVJfVFlQRSwgJmhkcl90eXBlKSByZXR1cm4gZmFpbHVyZS4gU28gdGhlIHZpcnRm biBkaWRuJ3QgaW5pdGlhbGl6ZWQgcHJvcGVyLg0KDQpUaGlzIGZvdW5kIHRvIGJlICJidXMtPnBy aW1hcnkgPT0gcHAtPnJvb3RfYnVzX25yICYmIGRldiA+IDAiIHRoZW4gcmV0dXJuIGZhaWx1cmUg aW4gaG9zdCBjb250cm9sbGVyLiBUaGUgZGV2IGNhbWUgZnJvbSBkZXZmbiBtdXN0IG5vdCB6ZXJv KGlzIGFib3V0IDB4MTApLg0KDQp0aGVuIHJlYWQgY29uZmlnIHNwYWNlIGZhaWx1cmUuIFRoaXMg bWFrZXMgdGhlIGRldi0+YnVzIGlzIE5VTEwuIExlYWQgdG8gdXBwZXIgY3Jhc2guDQoNCj4gIA0K PiAgPiBUaGUgcmVhZC93cml0ZSBjb25maWcgc3BhY2UgZnJvbSBob3N0IHdvdWxkIGp1ZGdlIHRo ZSBwY2llIGRldmljZQ0KPiAgPiBwbHVnaW4gb3Igbm90IGJ5Og0KPiAgPg0KPiAgPiBpZiAoYnVz LT5wcmltYXJ5ID09IHBwLT5yb290X2J1c19uciAmJiBkZXYgPiAwKQ0KPiAgPiAgICAgcmV0dXJu IDA7DQo+ICANCj4gIEknbSBndWVzc2luZyBvdGhlciBkcml2ZXJzIGhhdmUgdGhlIHNhbWUgaXNz dWUsIGUuZy4sDQo+ICBhbHRlcmFfcGNpZV92YWxpZF9jb25maWcoKSwgeGlsaW54X3BjaWVfdmFs aWRfZGV2aWNlKCkuDQo+ICANCj4gIENhbiB5b3UgbG9vayB0aHJvdWdoIHRoZW0gYW5kIGZpeCB0 aGVtIGFsbCBhdCBvbmNlPw0KDQoNCk9rLCBpZiB0aGUgcHJvYmxlbSBpcyBzYW1lLg0KDQo+ICAN Cj4gID4gQWx0aG91Z2ggYWxsIHBjaWUgZGV2aWNlcyBmb3IgZGV2KGNvbWluZyBmcm9tIHRoZSBk ZXZpY2UgYW5kIGZ1bmN0aW9uDQo+ICA+IG51bWJlcikgaXMgemVyby4gQnV0IHRoZSBkZXYgaXMg bm90IHplcm8gZm9yIFZGLiBTbyByZW1vdmUgdGhlDQo+ICA+IGNvbmRpdGlvbi4NCj4gID4NCj4g ID4gU2lnbmVkLW9mZi1ieTogUG8gTGl1IDxwby5saXVAbnhwLmNvbT4NCj4gID4gLS0tDQo+ICA+ ICBkcml2ZXJzL3BjaS9ob3N0L3BjaWUtZGVzaWdud2FyZS5jIHwgNyAtLS0tLS0tDQo+ICA+ICAx IGZpbGUgY2hhbmdlZCwgNyBkZWxldGlvbnMoLSkNCj4gID4NCj4gID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvcGNpL2hvc3QvcGNpZS1kZXNpZ253YXJlLmMNCj4gID4gYi9kcml2ZXJzL3BjaS9ob3N0 L3BjaWUtZGVzaWdud2FyZS5jDQo+ICA+IGluZGV4IDEyYWZjZTEuLmRkMjBlYjIgMTAwNjQ0DQo+ ICA+IC0tLSBhL2RyaXZlcnMvcGNpL2hvc3QvcGNpZS1kZXNpZ253YXJlLmMNCj4gID4gKysrIGIv ZHJpdmVycy9wY2kvaG9zdC9wY2llLWRlc2lnbndhcmUuYw0KPiAgPiBAQCAtNjcwLDEzICs2NzAs NiBAQCBzdGF0aWMgaW50IGR3X3BjaWVfdmFsaWRfY29uZmlnKHN0cnVjdCBwY2llX3BvcnQNCj4g ICpwcCwNCj4gID4gIAlpZiAoYnVzLT5udW1iZXIgPT0gcHAtPnJvb3RfYnVzX25yICYmIGRldiA+ IDApDQo+ICA+ICAJCXJldHVybiAwOw0KPiAgPg0KPiAgPiAtCS8qDQo+ICA+IC0JICogZG8gbm90 IHJlYWQgbW9yZSB0aGFuIG9uZSBkZXZpY2Ugb24gdGhlIGJ1cyBkaXJlY3RseSBhdHRhY2hlZA0K PiAgPiAtCSAqIHRvIFJDJ3MgKFZpcnR1YWwgQnJpZGdlJ3MpIERTIHNpZGUuDQo+ICA+IC0JICov DQo+ICA+IC0JaWYgKGJ1cy0+cHJpbWFyeSA9PSBwcC0+cm9vdF9idXNfbnIgJiYgZGV2ID4gMCkN Cj4gID4gLQkJcmV0dXJuIDA7DQo+ICA+IC0NCj4gID4gIAlyZXR1cm4gMTsNCj4gID4gIH0NCj4g ID4NCj4gID4gLS0NCj4gID4gMi4xLjAuMjcuZzk2ZGIzMjQNCj4gID4NCj4gID4NCj4gID4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gID4gbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QNCj4gID4gbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnDQo+ICA+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware 2016-08-25 4:53 ` Po Liu @ 2016-08-25 18:09 ` Bjorn Helgaas 2016-08-26 8:17 ` Po Liu 0 siblings, 1 reply; 13+ messages in thread From: Bjorn Helgaas @ 2016-08-25 18:09 UTC (permalink / raw) To: Po Liu Cc: linux-arm-kernel@lists.infradead.org, Roy Zang, Arnd Bergmann, linux-pci@vger.kernel.org, Pratyush Anand, Stuart Yoder, Yang-Leo Li, Mingkai Hu, Jingoo Han, Bjorn Helgaas, Ley Foon Tan, Michal Simek, S?ren Brinkmann On Thu, Aug 25, 2016 at 04:53:19AM +0000, Po Liu wrote: > > -----Original Message----- > > From: Bjorn Helgaas [mailto:helgaas@kernel.org] > > Sent: Thursday, August 25, 2016 4:51 AM > > To: Po Liu > > Cc: linux-pci@vger.kernel.org; Roy Zang; Arnd Bergmann; Stuart Yoder; > > Yang-Leo Li; linux-arm-kernel@lists.infradead.org; Bjorn Helgaas; > > Mingkai Hu; Ley Foon Tan; Michal Simek; S=F6ren Brinkmann; Jingoo Han; > > Pratyush Anand > > Subject: Re: [PATCH v1] arm64:pci: fix the IOV device enabled crash > > issue in designware > > = > > [+cc Jingoo, Pratyush, Michal, S=F6ren, Ley] > > = > > On Tue, Aug 23, 2016 at 02:01:12PM +0800, Po Liu wrote: > > > When echo a number to /sys/bus/pci/devices/xxx/sriov_numvfs to enable > > > the VF devices. A crash log occurred. This found to be access the IOV > > > devices config space failure issue. > > = > > What was the actual crash? The mere fact that we made a config read > > fail should not cause a crash. We might erroneously prevent access to > > VF devices, but it shouldn't crash. So maybe there's another bug > > elsewhere that we should fix first. > = > I built with CONFIG_PCI_IOV=3Dy and notice a crash when I use it: > = > centqds-60 cd /sys/class/net/ > centqds-61 ls > enP1p1s0@ enP2p1s0f0@ enP2p1s0f1@ lo@ sit0@ > centqds-62 cd enP2p1s0f1/device > centqds-63 ls > broken_parity_status driver_override msi_irqs/ sriov_numvfs > class enable net/ sriov_totalvfs > config iommu_group@ power/ subsystem@ > consistent_dma_mask_bits irq remove subsystem_device > device local_cpulist rescan subsystem_vendor > devspec local_cpus reset uevent > dma_mask_bits modalias resource vendor > driver@ msi_bus rom > centqds-64 zcat /proc/config.gz | grep _IOV > CONFIG_PCI_IOV=3Dy > centqds-65 sudo su > [root@centqds 0002:01:00.1]# echo 2 > sriov_numvfs > [ 317.604543] ixgbe 0002:01:00.1 enP2p1s0f1: SR-IOV enabled with 2 VFs > [ 317.714431] (null): of_irq_parse_pci() failed with rc=3D134 > [ 317.719906] -----------[ cut here ]----------- > [ 317.724525] WARNING: CPU: 6 PID: 3179 at drivers/pci/probe.c:1555 pci_d= evice_add+0x144/0x148() > [ 317.733123] Modules linked in: > [ 317.736175] CPU: 6 PID: 3179 Comm: bash Not tainted 4.1.8-00024-g0a32d6= 5-dirty #32 > [ 317.743731] Hardware name: Freescale Layerscape 2088a QDS Board (DT) > [ 317.750077] Call trace: > [ 317.752516] [<fffffe0000096cf8>] dump_backtrace+0x0/0x12c > Message from[ 317.757916] [<fffffe0000096e34>] show_stack+0x10/0x1c > syslogd@centqds[ 317.764341] [<fffffe00008937fc>] dump_stack+0x84/0xd4 > at Jul 26 15:51[ 317.770770] [<fffffe00000be590>] warn_slowpath_common+0x= 94/0xcc > :10 ... > kerne[ 317.778067] [<fffffe00000be68c>] warn_slowpath_null+0x14/0x20 > l:Call trace: > [ 317.785192] [<fffffe00003c5fa4>] pci_device_add+0x140/0x148 > [ 317.792133] [<fffffe00003de784>] pci_enable_sriov+0x470/0x7a0 > [ 317.797873] [<fffffe00005fa9dc>] ixgbe_pci_sriov_configure+0x8c/0x148 > [ 317.804302] [<fffffe00003cf354>] sriov_numvfs_store+0x78/0x11c > [ 317.810129] [<fffffe0000443d80>] dev_attr_store+0x14/0x28 > [ 317.815521] [<fffffe0000200164>] sysfs_kf_write+0x40/0x4c > [ 317.820908] [<fffffe00001ff5ec>] kernfs_fop_write+0xb8/0x180 > [ 317.826561] [<fffffe000019a568>] __vfs_write+0x28/0x10c > [ 317.831775] [<fffffe000019ad00>] vfs_write+0x90/0x1a0 > [ 317.836819] [<fffffe000019b584>] SyS_write+0x40/0xa0 > [ 317.841772] --[ end trace 83725a9784fd702a ]-- > [ 317.846393] BUG: failure at fs/sysfs/file.c:481/sysfs_create_bin_file()! > [ 317.853081] Kernel panic - not syncing: BUG! > [ 317.857339] CPU: 6 PID: 3179 Comm: bash Tainted: G W 4.1.8-00024-g0a32d= 65-dirty #32 > [ 317.866110] Hardware name: Freescale Layerscape 2088a QDS Board (DT) > [ 317.872451] Call trace: > [ 317.874887] [<fffffe0000096cf8>] dump_backtrace+0x0/0x12c > [ 317.880274] [<fffffe0000096e34>] show_stack+0x10/0x1c > [ 317.885315] [<fffffe00008937fc>] dump_stack+0x84/0xd4 > [ 317.890354] [<fffffe00008909e8>] panic+0xe4/0x21c > [ 317.895047] [<fffffe0000200988>] sysfs_create_bin_file+0x60/0x64 > [ 317.901041] [<fffffe00003cf52c>] pci_create_sysfs_dev_files+0x48/0x2a8 > [ 317.907556] [<fffffe00003c4238>] pci_bus_add_device+0x20/0x6c > = > The code process is that: "echo 2 > sriov_numvf" makes driver load .sriov= _configure. At last to load pci_enable_sriov(). > The first time vf device operate the config space in the pci_setup_device= () (this function was load in the virtfn_add()) is pci_read_config_byte(dev= , PCI_HEADER_TYPE, &hdr_type) return failure. So the virtfn didn't initiali= zed proper. > = > This found to be "bus->primary =3D=3D pp->root_bus_nr && dev > 0" then re= turn failure in host controller. The dev came from devfn must not zero(is a= bout 0x10). > = > then read config space failure. This makes the dev->bus is NULL. Lead to = upper crash. I think the crash (BUG: failure at fs/sysfs/file.c:481/sysfs_create_bin_fil= e()) happens in this path: sriov_numvfs_store ixgbe_pci_sriov_configure ixgbe_pci_sriov_enable pci_enable_sriov sriov_enable pci_iov_add_virtfn virtfn =3D pci_alloc_dev() pci_setup_device(virtfn) if (pci_read_config_byte(dev, PCI_HEADER_TYPE, &hdr_type)) return -EIO pci_bus_add_device(virtfn) pci_create_sysfs_dev_files sysfs_create_bin_file BUG_ON(!kobj) If the config read of PCI_HEADER_TYPE fails, pci_setup_device() returns -EIO, but pci_iov_add_virtfn() doesn't check it. Can you update pci_iov_add_virtfn() so it checks that return value? That should fix the crash, even without your designware patch. Obviously, it won't make SR-IOV work, so we still need both patches. Bjorn _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware 2016-08-25 18:09 ` Bjorn Helgaas @ 2016-08-26 8:17 ` Po Liu 0 siblings, 0 replies; 13+ messages in thread From: Po Liu @ 2016-08-26 8:17 UTC (permalink / raw) To: Bjorn Helgaas Cc: linux-arm-kernel@lists.infradead.org, Roy Zang, Arnd Bergmann, linux-pci@vger.kernel.org, Pratyush Anand, Stuart Yoder, Yang-Leo Li, Mingkai Hu, Jingoo Han, Bjorn Helgaas, Ley Foon Tan, Michal Simek, S?ren Brinkmann SGkgQmpvcm4sDQoNCkJlc3QgcmVnYXJkcywNCkxpdSBQbw0KDQoNCj4gIC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ICBGcm9tOiBCam9ybiBIZWxnYWFzIFttYWlsdG86aGVsZ2Fhc0BrZXJu ZWwub3JnXQ0KPiAgU2VudDogRnJpZGF5LCBBdWd1c3QgMjYsIDIwMTYgMjoxMCBBTQ0KPiAgVG86 IFBvIExpdQ0KPiAgQ2M6IFM/cmVuIEJyaW5rbWFubjsgUm95IFphbmc7IEFybmQgQmVyZ21hbm47 IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmc7DQo+ICBQcmF0eXVzaCBBbmFuZDsgU3R1YXJ0IFlv ZGVyOyBZYW5nLUxlbyBMaTsgTWluZ2thaSBIdTsgSmluZ29vIEhhbjsgQmpvcm4NCj4gIEhlbGdh YXM7IExleSBGb29uIFRhbjsgTWljaGFsIFNpbWVrOyBsaW51eC1hcm0tDQo+ICBrZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZw0KPiAgU3ViamVjdDogUmU6IFtQQVRDSCB2MV0gYXJtNjQ6cGNpOiBm aXggdGhlIElPViBkZXZpY2UgZW5hYmxlZCBjcmFzaA0KPiAgaXNzdWUgaW4gZGVzaWdud2FyZQ0K PiAgDQo+ICBPbiBUaHUsIEF1ZyAyNSwgMjAxNiBhdCAwNDo1MzoxOUFNICswMDAwLCBQbyBMaXUg d3JvdGU6DQo+ICA+ID4gIC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ICA+ID4gIEZyb206 IEJqb3JuIEhlbGdhYXMgW21haWx0bzpoZWxnYWFzQGtlcm5lbC5vcmddDQo+ICA+ID4gIFNlbnQ6 IFRodXJzZGF5LCBBdWd1c3QgMjUsIDIwMTYgNDo1MSBBTQ0KPiAgPiA+ICBUbzogUG8gTGl1DQo+ ICA+ID4gIENjOiBsaW51eC1wY2lAdmdlci5rZXJuZWwub3JnOyBSb3kgWmFuZzsgQXJuZCBCZXJn bWFubjsgU3R1YXJ0DQo+ICA+ID4gWW9kZXI7ICBZYW5nLUxlbyBMaTsgbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnOyBCam9ybg0KPiAgPiA+IEhlbGdhYXM7ICBNaW5na2FpIEh1 OyBMZXkgRm9vbiBUYW47IE1pY2hhbCBTaW1lazsgU8O2cmVuIEJyaW5rbWFubjsNCj4gID4gPiBK aW5nb28gSGFuOyAgUHJhdHl1c2ggQW5hbmQNCj4gID4gPiAgU3ViamVjdDogUmU6IFtQQVRDSCB2 MV0gYXJtNjQ6cGNpOiBmaXggdGhlIElPViBkZXZpY2UgZW5hYmxlZCBjcmFzaA0KPiAgPiA+IGlz c3VlIGluIGRlc2lnbndhcmUNCj4gID4gPg0KPiAgPiA+ICBbK2NjIEppbmdvbywgUHJhdHl1c2gs IE1pY2hhbCwgU8O2cmVuLCBMZXldDQo+ICA+ID4NCj4gID4gPiAgT24gVHVlLCBBdWcgMjMsIDIw MTYgYXQgMDI6MDE6MTJQTSArMDgwMCwgUG8gTGl1IHdyb3RlOg0KPiAgPiA+ICA+IFdoZW4gZWNo byBhIG51bWJlciB0byAvc3lzL2J1cy9wY2kvZGV2aWNlcy94eHgvc3Jpb3ZfbnVtdmZzIHRvDQo+ ICA+ID4gZW5hYmxlICA+IHRoZSBWRiBkZXZpY2VzLiBBIGNyYXNoIGxvZyBvY2N1cnJlZC4gVGhp cyBmb3VuZCB0byBiZQ0KPiAgPiA+IGFjY2VzcyB0aGUgSU9WICA+IGRldmljZXMgY29uZmlnIHNw YWNlIGZhaWx1cmUgaXNzdWUuDQo+ICA+ID4NCj4gID4gPiAgV2hhdCB3YXMgdGhlIGFjdHVhbCBj cmFzaD8gIFRoZSBtZXJlIGZhY3QgdGhhdCB3ZSBtYWRlIGEgY29uZmlnDQo+ICA+ID4gcmVhZCAg ZmFpbCBzaG91bGQgbm90IGNhdXNlIGEgY3Jhc2guICBXZSBtaWdodCBlcnJvbmVvdXNseSBwcmV2 ZW50DQo+ICA+ID4gYWNjZXNzIHRvICBWRiBkZXZpY2VzLCBidXQgaXQgc2hvdWxkbid0IGNyYXNo LiAgU28gbWF5YmUgdGhlcmUncw0KPiAgPiA+IGFub3RoZXIgYnVnICBlbHNld2hlcmUgdGhhdCB3 ZSBzaG91bGQgZml4IGZpcnN0Lg0KPiAgPg0KPiAgPiBJIGJ1aWx0IHdpdGggQ09ORklHX1BDSV9J T1Y9eSBhbmQgbm90aWNlIGEgY3Jhc2ggd2hlbiBJIHVzZSBpdDoNCj4gID4NCj4gID4gY2VudHFk cy02MCBjZCAvc3lzL2NsYXNzL25ldC8NCj4gID4gY2VudHFkcy02MSBscw0KPiAgPiBlblAxcDFz MEAgZW5QMnAxczBmMEAgZW5QMnAxczBmMUAgbG9AIHNpdDBADQo+ICA+IGNlbnRxZHMtNjIgY2Qg ZW5QMnAxczBmMS9kZXZpY2UNCj4gID4gY2VudHFkcy02MyBscw0KPiAgPiBicm9rZW5fcGFyaXR5 X3N0YXR1cyBkcml2ZXJfb3ZlcnJpZGUgbXNpX2lycXMvIHNyaW92X251bXZmcyBjbGFzcw0KPiAg PiBlbmFibGUgbmV0LyBzcmlvdl90b3RhbHZmcyBjb25maWcgaW9tbXVfZ3JvdXBAIHBvd2VyLyBz dWJzeXN0ZW1ADQo+ICA+IGNvbnNpc3RlbnRfZG1hX21hc2tfYml0cyBpcnEgcmVtb3ZlIHN1YnN5 c3RlbV9kZXZpY2UgZGV2aWNlDQo+ICA+IGxvY2FsX2NwdWxpc3QgcmVzY2FuIHN1YnN5c3RlbV92 ZW5kb3IgZGV2c3BlYyBsb2NhbF9jcHVzIHJlc2V0IHVldmVudA0KPiAgPiBkbWFfbWFza19iaXRz IG1vZGFsaWFzIHJlc291cmNlIHZlbmRvciBkcml2ZXJAIG1zaV9idXMgcm9tDQo+ICA+IGNlbnRx ZHMtNjQgemNhdCAvcHJvYy9jb25maWcuZ3ogfCBncmVwIF9JT1YgQ09ORklHX1BDSV9JT1Y9eQ0K PiAgPiBjZW50cWRzLTY1IHN1ZG8gc3UNCj4gID4gW3Jvb3RAY2VudHFkcyAwMDAyOjAxOjAwLjFd IyBlY2hvIDIgPiBzcmlvdl9udW12ZnMgWyAzMTcuNjA0NTQzXSBpeGdiZQ0KPiAgPiAwMDAyOjAx OjAwLjEgZW5QMnAxczBmMTogU1ItSU9WIGVuYWJsZWQgd2l0aCAyIFZGcyBbIDMxNy43MTQ0MzFd DQo+ICA+IChudWxsKTogb2ZfaXJxX3BhcnNlX3BjaSgpIGZhaWxlZCB3aXRoIHJjPTEzNA0KPiAg DQo+ICANCj4gID4gWyAzMTcuNzE5OTA2XSAtLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0t LS0tIFsgMzE3LjcyNDUyNV0NCj4gID4gV0FSTklORzogQ1BVOiA2IFBJRDogMzE3OSBhdCBkcml2 ZXJzL3BjaS9wcm9iZS5jOjE1NTUNCj4gID4gcGNpX2RldmljZV9hZGQrMHgxNDQvMHgxNDgoKSBb IDMxNy43MzMxMjNdIE1vZHVsZXMgbGlua2VkIGluOg0KPiAgPiBbIDMxNy43MzYxNzVdIENQVTog NiBQSUQ6IDMxNzkgQ29tbTogYmFzaCBOb3QgdGFpbnRlZA0KPiAgPiA0LjEuOC0wMDAyNC1nMGEz MmQ2NS1kaXJ0eSAjMzIgWyAzMTcuNzQzNzMxXSBIYXJkd2FyZSBuYW1lOiBGcmVlc2NhbGUNCj4g ID4gTGF5ZXJzY2FwZSAyMDg4YSBRRFMgQm9hcmQgKERUKSBbIDMxNy43NTAwNzddIENhbGwgdHJh Y2U6DQo+ICA+IFsgMzE3Ljc1MjUxNl0gWzxmZmZmZmUwMDAwMDk2Y2Y4Pl0gZHVtcF9iYWNrdHJh Y2UrMHgwLzB4MTJjIE1lc3NhZ2UNCj4gID4gZnJvbVsgMzE3Ljc1NzkxNl0gWzxmZmZmZmUwMDAw MDk2ZTM0Pl0gc2hvd19zdGFjaysweDEwLzB4MWMNCj4gID4gc3lzbG9nZEBjZW50cWRzWyAzMTcu NzY0MzQxXSBbPGZmZmZmZTAwMDA4OTM3ZmM+XSBkdW1wX3N0YWNrKzB4ODQvMHhkNA0KPiAgPiBh dCBKdWwgMjYgMTU6NTFbIDMxNy43NzA3NzBdIFs8ZmZmZmZlMDAwMDBiZTU5MD5dDQo+ICA+IHdh cm5fc2xvd3BhdGhfY29tbW9uKzB4OTQvMHhjYw0KPiAgPiA6MTAgLi4uDQo+ICA+IGtlcm5lWyAz MTcuNzc4MDY3XSBbPGZmZmZmZTAwMDAwYmU2OGM+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNC8w eDIwDQo+ICA+IGw6Q2FsbCB0cmFjZToNCj4gID4gWyAzMTcuNzg1MTkyXSBbPGZmZmZmZTAwMDAz YzVmYTQ+XSBwY2lfZGV2aWNlX2FkZCsweDE0MC8weDE0OCBbDQo+ICA+IDMxNy43OTIxMzNdIFs8 ZmZmZmZlMDAwMDNkZTc4ND5dIHBjaV9lbmFibGVfc3Jpb3YrMHg0NzAvMHg3YTAgWw0KPiAgPiAz MTcuNzk3ODczXSBbPGZmZmZmZTAwMDA1ZmE5ZGM+XSBpeGdiZV9wY2lfc3Jpb3ZfY29uZmlndXJl KzB4OGMvMHgxNDgNCj4gID4gWyAzMTcuODA0MzAyXSBbPGZmZmZmZTAwMDAzY2YzNTQ+XSBzcmlv dl9udW12ZnNfc3RvcmUrMHg3OC8weDExYyBbDQo+ICA+IDMxNy44MTAxMjldIFs8ZmZmZmZlMDAw MDQ0M2Q4MD5dIGRldl9hdHRyX3N0b3JlKzB4MTQvMHgyOCBbDQo+ICA+IDMxNy44MTU1MjFdIFs8 ZmZmZmZlMDAwMDIwMDE2ND5dIHN5c2ZzX2tmX3dyaXRlKzB4NDAvMHg0YyBbDQo+ICA+IDMxNy44 MjA5MDhdIFs8ZmZmZmZlMDAwMDFmZjVlYz5dIGtlcm5mc19mb3Bfd3JpdGUrMHhiOC8weDE4MCBb DQo+ICA+IDMxNy44MjY1NjFdIFs8ZmZmZmZlMDAwMDE5YTU2OD5dIF9fdmZzX3dyaXRlKzB4Mjgv MHgxMGMgWyAzMTcuODMxNzc1XQ0KPiAgPiBbPGZmZmZmZTAwMDAxOWFkMDA+XSB2ZnNfd3JpdGUr MHg5MC8weDFhMCBbIDMxNy44MzY4MTldDQo+ICA+IFs8ZmZmZmZlMDAwMDE5YjU4ND5dIFN5U193 cml0ZSsweDQwLzB4YTAgWyAzMTcuODQxNzcyXSAtLVsgZW5kIHRyYWNlDQo+ICA+IDgzNzI1YTk3 ODRmZDcwMmEgXS0tIFsgMzE3Ljg0NjM5M10gQlVHOiBmYWlsdXJlIGF0DQo+ICA+IGZzL3N5c2Zz L2ZpbGUuYzo0ODEvc3lzZnNfY3JlYXRlX2Jpbl9maWxlKCkhDQo+ICA+IFsgMzE3Ljg1MzA4MV0g S2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEJVRyENCj4gID4gWyAzMTcuODU3MzM5XSBDUFU6 IDYgUElEOiAzMTc5IENvbW06IGJhc2ggVGFpbnRlZDogRyBXDQo+ICA+IDQuMS44LTAwMDI0LWcw YTMyZDY1LWRpcnR5ICMzMiBbIDMxNy44NjYxMTBdIEhhcmR3YXJlIG5hbWU6IEZyZWVzY2FsZQ0K PiAgPiBMYXllcnNjYXBlIDIwODhhIFFEUyBCb2FyZCAoRFQpIFsgMzE3Ljg3MjQ1MV0gQ2FsbCB0 cmFjZToNCj4gID4gWyAzMTcuODc0ODg3XSBbPGZmZmZmZTAwMDAwOTZjZjg+XSBkdW1wX2JhY2t0 cmFjZSsweDAvMHgxMmMgWw0KPiAgPiAzMTcuODgwMjc0XSBbPGZmZmZmZTAwMDAwOTZlMzQ+XSBz aG93X3N0YWNrKzB4MTAvMHgxYyBbIDMxNy44ODUzMTVdDQo+ICA+IFs8ZmZmZmZlMDAwMDg5Mzdm Yz5dIGR1bXBfc3RhY2srMHg4NC8weGQ0IFsgMzE3Ljg5MDM1NF0NCj4gID4gWzxmZmZmZmUwMDAw ODkwOWU4Pl0gcGFuaWMrMHhlNC8weDIxYyBbIDMxNy44OTUwNDddDQo+ICA+IFs8ZmZmZmZlMDAw MDIwMDk4OD5dIHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZSsweDYwLzB4NjQgWyAzMTcuOTAxMDQxXQ0K PiAgPiBbPGZmZmZmZTAwMDAzY2Y1MmM+XSBwY2lfY3JlYXRlX3N5c2ZzX2Rldl9maWxlcysweDQ4 LzB4MmE4DQo+ICA+IFsgMzE3LjkwNzU1Nl0gWzxmZmZmZmUwMDAwM2M0MjM4Pl0gcGNpX2J1c19h ZGRfZGV2aWNlKzB4MjAvMHg2Yw0KPiAgPg0KPiAgPiBUaGUgY29kZSBwcm9jZXNzIGlzIHRoYXQ6 ICJlY2hvIDIgPiBzcmlvdl9udW12ZiIgbWFrZXMgZHJpdmVyDQo+ICBsb2FkIC5zcmlvdl9jb25m aWd1cmUuIEF0IGxhc3QgdG8gbG9hZCBwY2lfZW5hYmxlX3NyaW92KCkuDQo+ICA+IFRoZSBmaXJz dCB0aW1lIHZmIGRldmljZSBvcGVyYXRlIHRoZSBjb25maWcgc3BhY2UgaW4gdGhlDQo+ICBwY2lf c2V0dXBfZGV2aWNlKCkgKHRoaXMgZnVuY3Rpb24gd2FzIGxvYWQgaW4gdGhlIHZpcnRmbl9hZGQo KSkgaXMNCj4gIHBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgUENJX0hFQURFUl9UWVBFLCAmaGRy X3R5cGUpIHJldHVybiBmYWlsdXJlLiBTbw0KPiAgdGhlIHZpcnRmbiBkaWRuJ3QgaW5pdGlhbGl6 ZWQgcHJvcGVyLg0KPiAgPg0KPiAgPiBUaGlzIGZvdW5kIHRvIGJlICJidXMtPnByaW1hcnkgPT0g cHAtPnJvb3RfYnVzX25yICYmIGRldiA+IDAiIHRoZW4NCj4gIHJldHVybiBmYWlsdXJlIGluIGhv c3QgY29udHJvbGxlci4gVGhlIGRldiBjYW1lIGZyb20gZGV2Zm4gbXVzdCBub3QNCj4gIHplcm8o aXMgYWJvdXQgMHgxMCkuDQo+ICA+DQo+ICA+IHRoZW4gcmVhZCBjb25maWcgc3BhY2UgZmFpbHVy ZS4gVGhpcyBtYWtlcyB0aGUgZGV2LT5idXMgaXMgTlVMTC4gTGVhZA0KPiAgdG8gdXBwZXIgY3Jh c2guDQo+ICANCj4gIEkgdGhpbmsgdGhlIGNyYXNoIChCVUc6IGZhaWx1cmUgYXQNCj4gIGZzL3N5 c2ZzL2ZpbGUuYzo0ODEvc3lzZnNfY3JlYXRlX2Jpbl9maWxlKCkpDQo+ICBoYXBwZW5zIGluIHRo aXMgcGF0aDoNCj4gIA0KPiAgICBzcmlvdl9udW12ZnNfc3RvcmUNCj4gICAgICBpeGdiZV9wY2lf c3Jpb3ZfY29uZmlndXJlDQo+ICAgICAgICBpeGdiZV9wY2lfc3Jpb3ZfZW5hYmxlDQo+ICAgICAg ICAgIHBjaV9lbmFibGVfc3Jpb3YNCj4gICAgICAgICAgICBzcmlvdl9lbmFibGUNCj4gICAgICAg ICAgICAgIHBjaV9pb3ZfYWRkX3ZpcnRmbg0KPiAgICAgICAgICAgICAgICB2aXJ0Zm4gPSBwY2lf YWxsb2NfZGV2KCkNCj4gICAgICAgICAgICAgICAgcGNpX3NldHVwX2RldmljZSh2aXJ0Zm4pDQo+ ICAgICAgICAgICAgICAgICAgaWYgKHBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgUENJX0hFQURF Ul9UWVBFLA0KPiAgJmhkcl90eXBlKSkNCj4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlP DQo+ICAgICAgICAgICAgICAgIHBjaV9idXNfYWRkX2RldmljZSh2aXJ0Zm4pDQo+ICAgICAgICAg ICAgICAgICAgcGNpX2NyZWF0ZV9zeXNmc19kZXZfZmlsZXMNCj4gICAgICAgICAgICAgICAgICAg IHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZQ0KPiAgICAgICAgICAgICAgICAgICAgICBCVUdfT04oIWtv YmopDQo+ICANCj4gIElmIHRoZSBjb25maWcgcmVhZCBvZiBQQ0lfSEVBREVSX1RZUEUgZmFpbHMs IHBjaV9zZXR1cF9kZXZpY2UoKSByZXR1cm5zDQo+ICAtRUlPLCBidXQgcGNpX2lvdl9hZGRfdmly dGZuKCkgZG9lc24ndCBjaGVjayBpdC4gIENhbiB5b3UgdXBkYXRlDQo+ICBwY2lfaW92X2FkZF92 aXJ0Zm4oKSBzbyBpdCBjaGVja3MgdGhhdCByZXR1cm4gdmFsdWU/ICBUaGF0IHNob3VsZCBmaXgN Cj4gIHRoZSBjcmFzaCwgZXZlbiB3aXRob3V0IHlvdXIgZGVzaWdud2FyZSBwYXRjaC4NCj4gIA0K PiAgT2J2aW91c2x5LCBpdCB3b24ndCBtYWtlIFNSLUlPViB3b3JrLCBzbyB3ZSBzdGlsbCBuZWVk IGJvdGggcGF0Y2hlcy4NCg0KVGhhbmtzLCBJJ2xsIHByb3ZpZGUgcGF0Y2ggaW4gVjIuDQoNCj4g IA0KPiAgQmpvcm4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-23 6:01 [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware Po Liu 2016-08-24 20:50 ` Bjorn Helgaas @ 2016-08-29 7:26 ` Po Liu 2016-08-30 15:43 ` Jingoo Han ` (2 more replies) 1 sibling, 3 replies; 13+ messages in thread From: Po Liu @ 2016-08-29 7:26 UTC (permalink / raw) To: linux-pci Cc: soren.brinkmann, Roy Zang, Arnd Bergmann, jingoohan1, Po Liu, pratyush.anand, Stuart Yoder, Yang-Leo Li, linux-arm-kernel, Bjorn Helgaas, lftan, michal.simek, Mingkai Hu When echo a number to /sys/bus/pci/devices/xxx/sriov_numvfs to enable the VF devices. A crash log occurred. This found to be access the IOV devices config space failure issue. The read/write config space from host would judge the pcie device plugin or not by(Designware platform as example): if (bus->primary == pp->root_bus_nr && dev > 0) return 0; Although all PCIe devices for dev(coming from the device and function number) is zero. But the dev is not zero for VF devices. So remove the condition. These PCI hosts were changed: designware, altera, xilinx. Signed-off-by: Po Liu <po.liu@nxp.com> --- changes for v2: - add pci hosts: altera, xilinx; drivers/pci/host/pcie-altera.c | 7 ------- drivers/pci/host/pcie-designware.c | 7 ------- drivers/pci/host/pcie-xilinx.c | 7 ------- 3 files changed, 21 deletions(-) diff --git a/drivers/pci/host/pcie-altera.c b/drivers/pci/host/pcie-altera.c index 2b78376..edbe0a7 100644 --- a/drivers/pci/host/pcie-altera.c +++ b/drivers/pci/host/pcie-altera.c @@ -171,13 +171,6 @@ static bool altera_pcie_valid_config(struct altera_pcie *pcie, if (bus->number == pcie->root_bus_nr && dev > 0) return false; - /* - * Do not read more than one device on the bus directly attached - * to root port, root port can only attach to one downstream port. - */ - if (bus->primary == pcie->root_bus_nr && dev > 0) - return false; - return true; } diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c index 12afce1..dd20eb2 100644 --- a/drivers/pci/host/pcie-designware.c +++ b/drivers/pci/host/pcie-designware.c @@ -670,13 +670,6 @@ static int dw_pcie_valid_config(struct pcie_port *pp, if (bus->number == pp->root_bus_nr && dev > 0) return 0; - /* - * do not read more than one device on the bus directly attached - * to RC's (Virtual Bridge's) DS side. - */ - if (bus->primary == pp->root_bus_nr && dev > 0) - return 0; - return 1; } diff --git a/drivers/pci/host/pcie-xilinx.c b/drivers/pci/host/pcie-xilinx.c index a30e016..75c89db 100644 --- a/drivers/pci/host/pcie-xilinx.c +++ b/drivers/pci/host/pcie-xilinx.c @@ -168,13 +168,6 @@ static bool xilinx_pcie_valid_device(struct pci_bus *bus, unsigned int devfn) if (bus->number == port->root_busno && devfn > 0) return false; - /* - * Do not read more than one device on the bus directly attached - * to RC. - */ - if (bus->primary == port->root_busno && devfn > 0) - return false; - return true; } -- 2.1.0.27.g96db324 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-29 7:26 ` [PATCH v2] arm64:pci: fix the IOV device access config space valid condition Po Liu @ 2016-08-30 15:43 ` Jingoo Han 2016-08-30 15:54 ` Roy Zang 2016-09-01 0:58 ` Ley Foon Tan 2016-09-12 21:44 ` Bjorn Helgaas 2 siblings, 1 reply; 13+ messages in thread From: Jingoo Han @ 2016-08-30 15:43 UTC (permalink / raw) To: 'Po Liu', linux-pci Cc: soren.brinkmann, 'Roy Zang', 'Arnd Bergmann', pratyush.anand, 'Stuart Yoder', 'Yang-Leo Li', linux-arm-kernel, 'Bjorn Helgaas', lftan, michal.simek, 'Mingkai Hu' On Monday, August 29, 2016 3:27 AM, Po Liu wrote: > > When echo a number to /sys/bus/pci/devices/xxx/sriov_numvfs to enable the > VF devices. A crash log occurred. This found to be access the IOV devices > config space failure issue. > > The read/write config space from host would judge the pcie device plugin > or not by(Designware platform as example): > > if (bus->primary == pp->root_bus_nr && dev > 0) > return 0; > > Although all PCIe devices for dev(coming from the device and function > number) is zero. But the dev is not zero for VF devices. So remove the > condition. > > These PCI hosts were changed: designware, altera, xilinx. > > Signed-off-by: Po Liu <po.liu@nxp.com> For 'pcie-designware.c', Acked-by: Jingoo Han <jingoohan1@gmail.com> I really don't like to modify host driver stuffs. But, if there is no alternatives, this patch looks good. Best regards, Jingoo Han > --- > changes for v2: > - add pci hosts: altera, xilinx; > > drivers/pci/host/pcie-altera.c | 7 ------- > drivers/pci/host/pcie-designware.c | 7 ------- > drivers/pci/host/pcie-xilinx.c | 7 ------- > 3 files changed, 21 deletions(-) > > diff --git a/drivers/pci/host/pcie-altera.c b/drivers/pci/host/pcie- > altera.c index 2b78376..edbe0a7 100644 > --- a/drivers/pci/host/pcie-altera.c > +++ b/drivers/pci/host/pcie-altera.c > @@ -171,13 +171,6 @@ static bool altera_pcie_valid_config(struct > altera_pcie *pcie, > if (bus->number == pcie->root_bus_nr && dev > 0) > return false; > > - /* > - * Do not read more than one device on the bus directly attached > - * to root port, root port can only attach to one downstream port. > - */ > - if (bus->primary == pcie->root_bus_nr && dev > 0) > - return false; > - > return true; > } > > diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie- > designware.c > index 12afce1..dd20eb2 100644 > --- a/drivers/pci/host/pcie-designware.c > +++ b/drivers/pci/host/pcie-designware.c > @@ -670,13 +670,6 @@ static int dw_pcie_valid_config(struct pcie_port *pp, > if (bus->number == pp->root_bus_nr && dev > 0) > return 0; > > - /* > - * do not read more than one device on the bus directly attached > - * to RC's (Virtual Bridge's) DS side. > - */ > - if (bus->primary == pp->root_bus_nr && dev > 0) > - return 0; > - > return 1; > } > > diff --git a/drivers/pci/host/pcie-xilinx.c b/drivers/pci/host/pcie- > xilinx.c index a30e016..75c89db 100644 > --- a/drivers/pci/host/pcie-xilinx.c > +++ b/drivers/pci/host/pcie-xilinx.c > @@ -168,13 +168,6 @@ static bool xilinx_pcie_valid_device(struct pci_bus > *bus, unsigned int devfn) > if (bus->number == port->root_busno && devfn > 0) > return false; > > - /* > - * Do not read more than one device on the bus directly attached > - * to RC. > - */ > - if (bus->primary == port->root_busno && devfn > 0) > - return false; > - > return true; > } > > -- > 2.1.0.27.g96db324 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-30 15:43 ` Jingoo Han @ 2016-08-30 15:54 ` Roy Zang 2016-08-30 16:32 ` Roy Zang 2016-08-30 18:15 ` Jingoo Han 0 siblings, 2 replies; 13+ messages in thread From: Roy Zang @ 2016-08-30 15:54 UTC (permalink / raw) To: Jingoo Han, Po Liu, linux-pci@vger.kernel.org Cc: soren.brinkmann@xilinx.com, 'Arnd Bergmann', pratyush.anand@gmail.com, Stuart Yoder, Yang-Leo Li, linux-arm-kernel@lists.infradead.org, 'Bjorn Helgaas', lftan@altera.com, michal.simek@xilinx.com, Mingkai Hu On 08/30/2016 10:43 AM, Jingoo Han wrote: > I really don't like to modify host driver stuffs. > But, if there is no alternatives, this patch looks good. I do not see other good place to fix the bug. Roy Zang <roy.zang@nxp.com> Roy _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-30 15:54 ` Roy Zang @ 2016-08-30 16:32 ` Roy Zang 2016-08-30 18:15 ` Jingoo Han 1 sibling, 0 replies; 13+ messages in thread From: Roy Zang @ 2016-08-30 16:32 UTC (permalink / raw) To: Jingoo Han, Po Liu, linux-pci@vger.kernel.org Cc: soren.brinkmann@xilinx.com, 'Arnd Bergmann', pratyush.anand@gmail.com, Stuart Yoder, Yang-Leo Li, linux-arm-kernel@lists.infradead.org, 'Bjorn Helgaas', lftan@altera.com, michal.simek@xilinx.com, Mingkai Hu Acked-by: Roy Zang <roy.zang@nxp.com> Roy On 08/30/2016 10:54 AM, Roy Zang wrote: > On 08/30/2016 10:43 AM, Jingoo Han wrote: >> I really don't like to modify host driver stuffs. >> But, if there is no alternatives, this patch looks good. > I do not see other good place to fix the bug. > > Roy Zang <roy.zang@nxp.com> > > Roy > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-30 15:54 ` Roy Zang 2016-08-30 16:32 ` Roy Zang @ 2016-08-30 18:15 ` Jingoo Han 2016-08-30 18:25 ` Roy Zang 1 sibling, 1 reply; 13+ messages in thread From: Jingoo Han @ 2016-08-30 18:15 UTC (permalink / raw) To: 'Roy Zang', 'Po Liu', linux-pci Cc: soren.brinkmann, 'Arnd Bergmann', pratyush.anand, 'Stuart Yoder', 'Yang-Leo Li', linux-arm-kernel, 'Bjorn Helgaas', lftan, michal.simek, 'Mingkai Hu' On Tuesday, August 30, 2016 11:55 AM, Roy Zang wrote: > > On 08/30/2016 10:43 AM, Jingoo Han wrote: > > I really don't like to modify host driver stuffs. > > But, if there is no alternatives, this patch looks good. > > I do not see other good place to fix the bug. Hi Roy Zang, I didn't find other good place, too. At that time, I did IOV test with the similar patch like this. Best regards, Jingoo Han > > Roy Zang <roy.zang@nxp.com> > > Roy _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-30 18:15 ` Jingoo Han @ 2016-08-30 18:25 ` Roy Zang 0 siblings, 0 replies; 13+ messages in thread From: Roy Zang @ 2016-08-30 18:25 UTC (permalink / raw) To: Jingoo Han, Po Liu, linux-pci@vger.kernel.org Cc: soren.brinkmann@xilinx.com, 'Arnd Bergmann', pratyush.anand@gmail.com, Stuart Yoder, Yang-Leo Li, linux-arm-kernel@lists.infradead.org, 'Bjorn Helgaas', lftan@altera.com, michal.simek@xilinx.com, Mingkai Hu On 08/30/2016 01:15 PM, Jingoo Han wrote: > On Tuesday, August 30, 2016 11:55 AM, Roy Zang wrote: >> > >> > On 08/30/2016 10:43 AM, Jingoo Han wrote: >>> > > I really don't like to modify host driver stuffs. >>> > > But, if there is no alternatives, this patch looks good. >> > >> > I do not see other good place to fix the bug. > Hi Roy Zang, > > I didn't find other good place, too. > At that time, I did IOV test with the similar patch like this. > > Best regards, > Jingoo Han > I did the similar with SR-IOV capability card. the patch fix the issue. Thanks for your confirmation and ack. Roy _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-29 7:26 ` [PATCH v2] arm64:pci: fix the IOV device access config space valid condition Po Liu 2016-08-30 15:43 ` Jingoo Han @ 2016-09-01 0:58 ` Ley Foon Tan 2016-09-12 21:44 ` Bjorn Helgaas 2 siblings, 0 replies; 13+ messages in thread From: Ley Foon Tan @ 2016-09-01 0:58 UTC (permalink / raw) To: Po Liu Cc: Sören Brinkmann, Roy Zang, Arnd Bergmann, linux-pci, Pratyush Anand Thakur, Stuart Yoder, Yang-Leo Li, linux-arm, Jingoo Han, Bjorn Helgaas, Michal Simek, Mingkai Hu On Mon, Aug 29, 2016 at 3:26 PM, Po Liu <po.liu@nxp.com> wrote: > When echo a number to /sys/bus/pci/devices/xxx/sriov_numvfs to enable the > VF devices. A crash log occurred. This found to be access the IOV devices > config space failure issue. > > The read/write config space from host would judge the pcie device plugin > or not by(Designware platform as example): > > if (bus->primary == pp->root_bus_nr && dev > 0) > return 0; > > Although all PCIe devices for dev(coming from the device and function > number) is zero. But the dev is not zero for VF devices. So remove the > condition. > > These PCI hosts were changed: designware, altera, xilinx. > > Signed-off-by: Po Liu <po.liu@nxp.com> > --- For pcie-altera.c: Acked-by: Ley Foon Tan <lftan@altera.com> Thanks. Regards Ley Foon _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] arm64:pci: fix the IOV device access config space valid condition 2016-08-29 7:26 ` [PATCH v2] arm64:pci: fix the IOV device access config space valid condition Po Liu 2016-08-30 15:43 ` Jingoo Han 2016-09-01 0:58 ` Ley Foon Tan @ 2016-09-12 21:44 ` Bjorn Helgaas 2 siblings, 0 replies; 13+ messages in thread From: Bjorn Helgaas @ 2016-09-12 21:44 UTC (permalink / raw) To: Po Liu Cc: linux-pci, soren.brinkmann, Roy Zang, Arnd Bergmann, jingoohan1, pratyush.anand, Stuart Yoder, Yang-Leo Li, linux-arm-kernel, Bjorn Helgaas, lftan, michal.simek, Mingkai Hu On Mon, Aug 29, 2016 at 03:26:58PM +0800, Po Liu wrote: > When echo a number to /sys/bus/pci/devices/xxx/sriov_numvfs to enable the > VF devices. A crash log occurred. This found to be access the IOV devices > config space failure issue. > > The read/write config space from host would judge the pcie device plugin > or not by(Designware platform as example): > > if (bus->primary == pp->root_bus_nr && dev > 0) > return 0; > > Although all PCIe devices for dev(coming from the device and function > number) is zero. But the dev is not zero for VF devices. So remove the > condition. > > These PCI hosts were changed: designware, altera, xilinx. > > Signed-off-by: Po Liu <po.liu@nxp.com> Applied to pci/virtualization for v4.9, thanks! I split it into three patches for backporting and reversion purposes. > --- > changes for v2: > - add pci hosts: altera, xilinx; > > drivers/pci/host/pcie-altera.c | 7 ------- > drivers/pci/host/pcie-designware.c | 7 ------- > drivers/pci/host/pcie-xilinx.c | 7 ------- > 3 files changed, 21 deletions(-) > > diff --git a/drivers/pci/host/pcie-altera.c b/drivers/pci/host/pcie-altera.c > index 2b78376..edbe0a7 100644 > --- a/drivers/pci/host/pcie-altera.c > +++ b/drivers/pci/host/pcie-altera.c > @@ -171,13 +171,6 @@ static bool altera_pcie_valid_config(struct altera_pcie *pcie, > if (bus->number == pcie->root_bus_nr && dev > 0) > return false; > > - /* > - * Do not read more than one device on the bus directly attached > - * to root port, root port can only attach to one downstream port. > - */ > - if (bus->primary == pcie->root_bus_nr && dev > 0) > - return false; > - > return true; > } > > diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c > index 12afce1..dd20eb2 100644 > --- a/drivers/pci/host/pcie-designware.c > +++ b/drivers/pci/host/pcie-designware.c > @@ -670,13 +670,6 @@ static int dw_pcie_valid_config(struct pcie_port *pp, > if (bus->number == pp->root_bus_nr && dev > 0) > return 0; > > - /* > - * do not read more than one device on the bus directly attached > - * to RC's (Virtual Bridge's) DS side. > - */ > - if (bus->primary == pp->root_bus_nr && dev > 0) > - return 0; > - > return 1; > } > > diff --git a/drivers/pci/host/pcie-xilinx.c b/drivers/pci/host/pcie-xilinx.c > index a30e016..75c89db 100644 > --- a/drivers/pci/host/pcie-xilinx.c > +++ b/drivers/pci/host/pcie-xilinx.c > @@ -168,13 +168,6 @@ static bool xilinx_pcie_valid_device(struct pci_bus *bus, unsigned int devfn) > if (bus->number == port->root_busno && devfn > 0) > return false; > > - /* > - * Do not read more than one device on the bus directly attached > - * to RC. > - */ > - if (bus->primary == port->root_busno && devfn > 0) > - return false; > - > return true; > } > > -- > 2.1.0.27.g96db324 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-09-12 21:44 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-08-23 6:01 [PATCH v1] arm64:pci: fix the IOV device enabled crash issue in designware Po Liu 2016-08-24 20:50 ` Bjorn Helgaas 2016-08-25 4:53 ` Po Liu 2016-08-25 18:09 ` Bjorn Helgaas 2016-08-26 8:17 ` Po Liu 2016-08-29 7:26 ` [PATCH v2] arm64:pci: fix the IOV device access config space valid condition Po Liu 2016-08-30 15:43 ` Jingoo Han 2016-08-30 15:54 ` Roy Zang 2016-08-30 16:32 ` Roy Zang 2016-08-30 18:15 ` Jingoo Han 2016-08-30 18:25 ` Roy Zang 2016-09-01 0:58 ` Ley Foon Tan 2016-09-12 21:44 ` Bjorn Helgaas
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).