From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [RFC] driver core: don't hold dev's parent lock when using async probe From: martin_liu Message-Id: <20180524160532.GA4803@google.com> Date: Fri, 25 May 2018 00:05:32 +0800 To: Alan Stern Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, jenhaochen@google.com List-ID: T24gVGh1LCBNYXkgMjQsIDIwMTggYXQgMTE6MDI6NTdBTSAtMDQwMCwgQWxhbiBTdGVybiB3cm90 ZToKPiBPbiBUaHUsIDI0IE1heSAyMDE4LCBNYXJ0aW4gTGl1IHdyb3RlOgo+IAo+ID4gT24gVHVl LCBNYXkgMjIsIDIwMTggYXQgMDE6MDk6NDRQTSAtMDQwMCwgQWxhbiBTdGVybiB3cm90ZToKPiA+ ID4gT24gVHVlLCAyMiBNYXkgMjAxOCwgbWFydGluX2xpdSB3cm90ZToKPiA+ID4gCj4gPiA+ID4g bm90IHN1cmUgaWYgd2Ugc3RpbGwgbmVlZCAnYmY3NGFkNWJjNDE3ICgiW1BBVENIXSBIb2xkIHRo ZQo+ID4gPiA+IGRldmljZSdzIHBhcmVudCdzIGxvY2sgZHVyaW5nIHByb2JlIGFuZCByZW1vdmUi KScgc2luY2UgaXQgaGFzCj4gPiA+ID4gYmVlbiB0aGVyZSBvdmVyIDEwIHllYXJzLiBJZiB3ZSBz dGlsbCBuZWVkIGl0IGFuZCBoYXJkIHRvIGZpeCBpdAo+ID4gPiA+ICwgdGhlIHNpbXBsZSB3YXkg aXMgdG8gZmluZCBhIHBsYWNlIG5vdCB0byBhbGxvdyBVU0Igc3Vic3lzdGVtCj4gPiA+ID4gZHJp dmVycyB0byBoYXZlIGFzeW5jIHByb2JlIGNhcGFiaWxpdHkuIEFueSBzdWdnZXN0aW9uIGlzIHdl bGNvbWUuCj4gPiA+IAo+ID4gPiBJIGRvbid0IHRoaW5rIHRoZSAiYWxsb3dzX2FzeW5jX3Byb2Jp bmciIGF0dHJpYnV0ZSBpcyB0aGUgYmVzdCB3YXkgdG8gCj4gPiA+IGF0dGFjayB0aGlzLiAgU29t ZSBvdGhlciBhcHByb2FjaCwgbGlrZSBhIHNwZWNpYWwtcHVycG9zZSBmbGFnLCBtaWdodCAKPiA+ ID4gYmUgYmV0dGVyLgo+ID4gPiAKPiA+ID4gWWVzLCBVU0Igc3RpbGwgbmVlZHMgdG8gaGF2ZSBw YXJlbnQncyBsb2NrcyBoZWxkIGR1cmluZyBwcm9iaW5nLiAgCj4gPiA+IEhlcmUncyB0aGUgcmVh c29uLiAgQSBVU0IgZGV2aWNlIGNhbiBoYXZlIG11bHRpcGxlIGludGVyZmFjZXMsIGVhY2gKPiA+ ID4gYm91bmQgdG8gaXRzIG93biBkcml2ZXIuICBBIGRyaXZlciBtYXkgc29tZXRpbWVzIG5lZWQg dG8gaXNzdWUgYSByZXNldCwKPiA+ID4gYnV0IGluIFVTQiB0aGVyZSdzIG5vIHdheSB0byByZXNl dCBhIHNpbmdsZSBpbnRlcmZhY2UuICBPbmx5IHRoZSBlbnRpcmUKPiA+ID4gZGV2aWNlIGNhbiBi ZSByZXNldCwgYW5kIG9mIGNvdXJzZSB0aGlzIGFmZmVjdHMgYWxsIHRoZSBpbnRlcmZhY2VzLiAg Cj4gPiA+IFRoZXJlZm9yZSBhIGRyaXZlciBuZWVkcyB0byBhY3F1aXJlIHRoZSBkZXZpY2UgbG9j ayBiZWZvcmUgaXQgY2FuIGlzc3VlCj4gPiA+IGEgcmVzZXQuCj4gPiA+IAo+ID4gPiBUaGUgcHJv YmxlbSBpcyB0aGF0IHRoZSBkcml2ZXIncyB0aHJlYWQgbWF5IGFscmVhZHkgaG9sZCB0aGUgZGV2 aWNlCj4gPiA+IGxvY2suICBEdXJpbmcgYSBub3JtYWwgcHJvYmUgc2VxdWVuY2UsIGZvciBleGFt cGxlLCB0aGUgaW50ZXJmYWNlcyBnZXQKPiA+ID4gcHJvYmVkIGJ5IHRoZSBodWIgZHJpdmVyIHdo aWxlIGl0IG93bnMgdGhlIGRldmljZSBsb2NrLiAgQnV0IGZvciBwcm9iZXMKPiA+ID4gdW5kZXIg b3RoZXIgY2lyY3Vtc3RhbmNlcyAoZm9yIGV4YW1wbGUsIGlmIHRoZSB1c2VyIHdyaXRlcyB0byB0 aGUKPiA+ID4gZHJpdmVyJ3MgImJpbmQiIGF0dHJpYnV0ZSBpbiBzeXNmcyksIHRoZSBkZXZpY2Ug bG9jayBtaWdodCBub3QgYmUgaGVsZC4KPiA+ID4gCj4gPiA+IEEgZHJpdmVyIGNhbm5vdCB0ZWxs IHRoZXNlIHR3byBjYXNlcyBhcGFydC4gIFRoZSBvbmx5IHdheSB0byBtYWtlIGl0Cj4gPiA+IHdv cmsgYWxsIHRoZSB0aW1lIGlzIHRvIGhhdmUgdGhlIGNhbGxlciBfYWx3YXlzXyBob2xkIHRoZSBk ZXZpY2UgbG9jawo+ID4gPiB3aGlsZSB0aGUgZHJpdmVyIGlzIHByb2JlZCAob3IgdGhlIHJlbW92 ZWQsIGZvciB0aGF0IG1hdHRlcikuCj4gPiA+IAo+ID4gPiBBbGFuIFN0ZXJuCj4gPiAKPiA+IFRo YW5rcyBmb3IgdGhlIHJlcGx5IGFuZCBtb3JlIGRldGFpbCBhYm91dCB0aGUgYmFja2dyb3VkLiBJ J2QgbGlrZSB0bwo+ID4gaGF2ZSBhIGNvbmNsdXNpb24gYWJvdXQgaXQuIFBsZWFzZSBraW5kbHkg Y29ycmVjdCBtZSBpZiBteSB1bmRlcnN0YW5kaW5nCj4gPiBpcyB3cm9uZy4gUmVnYXJkaW5nIHRv IHRoZSAic3BlY2lhbC1wdXJwb3NlIGZsYWciLCBkbyB5b3UgbWVhbiB3ZSBjb3VsZAo+ID4gZmlu ZCBhIHBsYWNlIGluIFVTQiBzdWJzeXN0ZW0gdG8gaGF2ZSB0aGUgZmxhZyBzZXQgKG5vdCBzdXJl IGlmIGl0J3MKPiA+IGVhc3kgdG8gZmluZCBpdCkuIERyaXZlciBjb3JlIHdvdWxkIGJlIGJhc2Ug b24gdGhlIGZsYWcgdG8gZGVjaWRlIGlmIHdlCj4gPiBuZWVkIHRvIGhvbGQgdGhlIGRldmljZSdz IHBhcmVudCdzIGxvY2suCj4gCj4gWWVzLCBleGNlcHQgdGhhdCB0aGUgZmxhZyB3b3VsZCBub3Qg YmUgaW4gdGhlIFVTQiBzdWJzeXN0ZW0uICBJdCB3b3VsZCAKPiBiZSBpbiB0aGUgZGV2aWNlLCBk ZXZpY2VfdHlwZSwgb3IgYnVzX3R5cGUgc3RydWN0dXJlLCBzbyB0aGF0IHRoZSAKPiBkcml2ZXIg Y29yZSBjb3VsZCBhY2Nlc3MgaXQuCj4gCj4gQWxhbiBTdGVybgoKVGhhbmtzIGZvciB0aGUgcXVp Y2sgZmVlZGJhY2sgYW5kIHRoZSBzdWdnZXN0aW9uLiB3aWxsIHRyeSB0byBmaWd1cmUgb3V0IGhv dwppdCB3b3Jrcy4KCk1hcnRpbgotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNl bmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNz YWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAg aHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==