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: [1/1] usb: chipidea: imx: improve the over current handling From: Peter Chen Message-Id: <20181203031037.5740-1-peter.chen@nxp.com> Date: Mon, 3 Dec 2018 03:13:01 +0000 To: "linux-usb@vger.kernel.org" Cc: dl-linux-imx , PETER CHEN , stable , =?utf-8?B?VXdlIEtsZWluZS1Lw7ZuaWc=?= , "mstarr@hedonline.com" List-ID: VGhlIGN1cnJlbnQgT0MgKE92ZXIgQ3VycmVudCkgaGFuZGxpbmcgZG9lcyBub3QgY29uc2lkZXIg dGhlIGRlZmF1bHQNCmFuZCBib290bG9hZGVyIE9DIHNldHRpbmcgd2VsbCwgaW4gdGhpcyBjb21t aXQsIHdlIHJlc2V0IE9DIHNldHRpbmcNCmFjY29yZGluZyB0byBkdHMgdmFsdWU6DQotIElmIHBy b3BlcnR5ICJkaXNhYmxlLW92ZXItY3VycmVudCIgaXMgc2V0LCB3ZSB3aWxsIGRpc2FibGUgT0Mg YXQNCmNvZGU7IG90aGVyd2lzZSwgd2Ugd2lsbCBlbmFibGUgT0MuDQotIFNpbmNlIG1vc3Qgb2Yg VVNCIHBvd2VyIGNvbnRyb2wgY2hpcHMgYXJlIGxvdyBhY3RpdmUgZm9yIE9DLCB3ZSBrZWVwDQoi b3Zlci1jdXJyZW50LWFjdGl2ZS1oaWdoIiBwcm9wZXJ0eSB1bmNoYW5naW5nIHRvIHJlZHVjZSB1 c2VycyBlZmZvcnQuDQpJZiB0aGlzIHByb3BlcnR5IGlzIHNldCwgd2Ugc2V0IE9DIHBvbGFyaXR5 IGFzIGhpZ2ggZXhwbGljaXRseTsNCm90aGVyd2lzZSwgd2Ugc2V0IGl0IGFzIGxvdyBleHBsaWNp dGx5Lg0KDQpDYzogc3RhYmxlIDxzdGFibGVAdmdlci5rZXJuZWwub3JnPg0KQ2M6IFBldGVyIENo ZW4gPHBldGVyLmNoZW5AbnhwLmNvbT4NCkNjOiBVd2UgS2xlaW5lLUvDtm5pZyA8dS5rbGVpbmUt a29lbmlnQHBlbmd1dHJvbml4LmRlPg0KQ2M6IE1hdHRoZXcgU3RhcnIgPG1zdGFyckBoZWRvbmxp bmUuY29tPg0KU2lnbmVkLW9mZi1ieTogUGV0ZXIgQ2hlbiA8cGV0ZXIuY2hlbkBueHAuY29tPg0K LS0tDQogZHJpdmVycy91c2IvY2hpcGlkZWEvY2lfaGRyY19pbXguYyB8ICAyICstDQogZHJpdmVy cy91c2IvY2hpcGlkZWEvY2lfaGRyY19pbXguaCB8ICAzICsrLQ0KIGRyaXZlcnMvdXNiL2NoaXBp ZGVhL3VzYm1pc2NfaW14LmMgfCAyNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0NCiAzIGZp bGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pDQoNCi0tIA0KMi4x NC4xCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY2hpcGlkZWEvY2lfaGRyY19pbXguYyBiL2Ry aXZlcnMvdXNiL2NoaXBpZGVhL2NpX2hkcmNfaW14LmMNCmluZGV4IDU2NzgxYzMyOWRiMC4uMDU4 NDY4ZjJkZThkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy91c2IvY2hpcGlkZWEvY2lfaGRyY19pbXgu Yw0KKysrIGIvZHJpdmVycy91c2IvY2hpcGlkZWEvY2lfaGRyY19pbXguYw0KQEAgLTE0MCw3ICsx NDAsNyBAQCBzdGF0aWMgc3RydWN0IGlteF91c2JtaXNjX2RhdGEgKnVzYm1pc2NfZ2V0X2luaXRf ZGF0YShzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCQlkYXRhLT5kaXNhYmxlX29jID0gMTsNCiANCiAJ aWYgKG9mX2ZpbmRfcHJvcGVydHkobnAsICJvdmVyLWN1cnJlbnQtYWN0aXZlLWhpZ2giLCBOVUxM KSkNCi0JCWRhdGEtPm9jX3BvbGFyaXR5ID0gMTsNCisJCWRhdGEtPm9jX3BvbGFyaXR5X2hpZ2gg PSAxOw0KIA0KIAlpZiAob2ZfZmluZF9wcm9wZXJ0eShucCwgImV4dGVybmFsLXZidXMtZGl2aWRl ciIsIE5VTEwpKQ0KIAkJZGF0YS0+ZXZkbyA9IDE7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Iv Y2hpcGlkZWEvY2lfaGRyY19pbXguaCBiL2RyaXZlcnMvdXNiL2NoaXBpZGVhL2NpX2hkcmNfaW14 LmgNCmluZGV4IGZjZWNhYjQ3ODkzNC4uNWVhOGJiMjM5YjM4IDEwMDY0NA0KLS0tIGEvZHJpdmVy cy91c2IvY2hpcGlkZWEvY2lfaGRyY19pbXguaA0KKysrIGIvZHJpdmVycy91c2IvY2hpcGlkZWEv Y2lfaGRyY19pbXguaA0KQEAgLTExLDcgKzExLDggQEAgc3RydWN0IGlteF91c2JtaXNjX2RhdGEg ew0KIAlpbnQgaW5kZXg7DQogDQogCXVuc2lnbmVkIGludCBkaXNhYmxlX29jOjE7IC8qIG92ZXIg Y3VycmVudCBkZXRlY3QgZGlzYWJsZWQgKi8NCi0JdW5zaWduZWQgaW50IG9jX3BvbGFyaXR5OjE7 IC8qIG92ZXIgY3VycmVudCBwb2xhcml0eSBpZiBvYyBlbmFibGVkICovDQorCS8qIG92ZXIgY3Vy cmVudCBwb2xhcml0eSBoaWdoIGlmIG9jIGVuYWJsZWQgKi8NCisJdW5zaWduZWQgaW50IG9jX3Bv bGFyaXR5X2hpZ2g6MTsNCiAJdW5zaWduZWQgaW50IGV2ZG86MTsgLyogc2V0IGV4dGVybmFsIHZi dXMgZGl2aWRlciBvcHRpb24gKi8NCiAJdW5zaWduZWQgaW50IHVscGk6MTsgLyogY29ubmVjdGVk IHRvIGFuIFVMUEkgcGh5ICovDQogCXVuc2lnbmVkIGludCBoc2ljOjE7IC8qIEhTSUMgY29udHJv bGxsZXIgKi8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jaGlwaWRlYS91c2JtaXNjX2lteC5j IGIvZHJpdmVycy91c2IvY2hpcGlkZWEvdXNibWlzY19pbXguYw0KaW5kZXggNDNhMTVhNmU4NmY1 Li4zMGQxYWRhOTUyZTEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3VzYi9jaGlwaWRlYS91c2JtaXNj X2lteC5jDQorKysgYi9kcml2ZXJzL3VzYi9jaGlwaWRlYS91c2JtaXNjX2lteC5jDQpAQCAtMTM1 LDE1ICsxMzUsMjYgQEAgc3RhdGljIGludCB1c2JtaXNjX2lteDI1X2luaXQoc3RydWN0IGlteF91 c2JtaXNjX2RhdGEgKmRhdGEpDQogCQl2YWwgPSByZWFkbCh1c2JtaXNjLT5iYXNlKTsNCiAJCXZh bCAmPSB+KE1YMjVfT1RHX1NJQ19NQVNLIHwgTVgyNV9PVEdfUFBfQklUKTsNCiAJCXZhbCB8PSAo TVgyNV9FSENJX0lOVEVSRkFDRV9ESUZGX1VOSSAmIE1YMjVfRUhDSV9JTlRFUkZBQ0VfTUFTSykg PDwgTVgyNV9PVEdfU0lDX1NISUZUOw0KLQkJdmFsIHw9IChNWDI1X09UR19QTV9CSVQgfCBNWDI1 X09UR19PQ1BPTF9CSVQpOw0KKwkJdmFsIHw9IE1YMjVfT1RHX1BNX0JJVDsNCisJCWlmIChkYXRh LT5vY19wb2xhcml0eV9oaWdoKQ0KKwkJCS8qIEhpZ2ggYWN0aXZlICovDQorCQkJdmFsIHw9IE1Y MjVfT1RHX09DUE9MX0JJVDsNCisJCWVsc2UNCisJCQl2YWwgJj0gfk1YMjVfT1RHX09DUE9MX0JJ VDsNCisNCiAJCXdyaXRlbCh2YWwsIHVzYm1pc2MtPmJhc2UpOw0KIAkJYnJlYWs7DQogCWNhc2Ug MToNCiAJCXZhbCA9IHJlYWRsKHVzYm1pc2MtPmJhc2UpOw0KIAkJdmFsICY9IH4oTVgyNV9IMV9T SUNfTUFTSyB8IE1YMjVfSDFfUFBfQklUIHwgIE1YMjVfSDFfSVBQVUVfVVBfQklUKTsNCiAJCXZh bCB8PSAoTVgyNV9FSENJX0lOVEVSRkFDRV9TSU5HTEVfVU5JICYgTVgyNV9FSENJX0lOVEVSRkFD RV9NQVNLKSA8PCBNWDI1X0gxX1NJQ19TSElGVDsNCi0JCXZhbCB8PSAoTVgyNV9IMV9QTV9CSVQg fCBNWDI1X0gxX09DUE9MX0JJVCB8IE1YMjVfSDFfVExMX0JJVCB8DQorCQl2YWwgfD0gKE1YMjVf SDFfUE1fQklUIHwgTVgyNV9IMV9UTExfQklUIHwNCiAJCQlNWDI1X0gxX1VTQlRFX0JJVCB8IE1Y MjVfSDFfSVBQVUVfRE9XTl9CSVQpOw0KKwkJaWYgKGRhdGEtPm9jX3BvbGFyaXR5X2hpZ2gpDQor CQkJLyogSGlnaCBhY3RpdmUgKi8NCisJCQl2YWwgfD0gTVgyNV9IMV9PQ1BPTF9CSVQ7DQorCQll bHNlDQorCQkJdmFsICY9IH5NWDI1X0gxX09DUE9MX0JJVDsNCiANCiAJCXdyaXRlbCh2YWwsIHVz Ym1pc2MtPmJhc2UpOw0KIA0KQEAgLTM1NiwxMiArMzY3LDE0IEBAIHN0YXRpYyBpbnQgdXNibWlz Y19pbXg2cV9pbml0KHN0cnVjdCBpbXhfdXNibWlzY19kYXRhICpkYXRhKQ0KIAlyZWcgPSByZWFk bCh1c2JtaXNjLT5iYXNlICsgZGF0YS0+aW5kZXggKiA0KTsNCiAJaWYgKGRhdGEtPmRpc2FibGVf b2MpIHsNCiAJCXJlZyB8PSBNWDZfQk1fT1ZFUl9DVVJfRElTOw0KLQl9IGVsc2UgaWYgKGRhdGEt Pm9jX3BvbGFyaXR5ID09IDEpIHsNCisJfSBlbHNlIGlmIChkYXRhLT5vY19wb2xhcml0eV9oaWdo ID09IDEpIHsNCiAJCS8qIEhpZ2ggYWN0aXZlICovDQogCQlyZWcgJj0gfihNWDZfQk1fT1ZFUl9D VVJfRElTIHwgTVg2X0JNX09WRVJfQ1VSX1BPTEFSSVRZKTsNCiAJfSBlbHNlIHsNCi0JCXJlZyAm PSB+KE1YNl9CTV9PVkVSX0NVUl9ESVMpOw0KKwkJcmVnICY9IH5NWDZfQk1fT1ZFUl9DVVJfRElT Ow0KKwkJcmVnIHw9IE1YNl9CTV9PVkVSX0NVUl9QT0xBUklUWTsNCiAJfQ0KKw0KIAl3cml0ZWwo cmVnLCB1c2JtaXNjLT5iYXNlICsgZGF0YS0+aW5kZXggKiA0KTsNCiANCiAJLyogU29DIG5vbi1i dXJzdCBzZXR0aW5nICovDQpAQCAtNTUyLDEwICs1NjUsMTQgQEAgc3RhdGljIGludCB1c2JtaXNj X2lteDdkX2luaXQoc3RydWN0IGlteF91c2JtaXNjX2RhdGEgKmRhdGEpDQogCXJlZyA9IHJlYWRs KHVzYm1pc2MtPmJhc2UpOw0KIAlpZiAoZGF0YS0+ZGlzYWJsZV9vYykgew0KIAkJcmVnIHw9IE1Y Nl9CTV9PVkVSX0NVUl9ESVM7DQotCX0gZWxzZSBpZiAoZGF0YS0+b2NfcG9sYXJpdHkgPT0gMSkg ew0KKwl9IGVsc2UgaWYgKGRhdGEtPm9jX3BvbGFyaXR5X2hpZ2ggPT0gMSkgew0KIAkJLyogSGln aCBhY3RpdmUgKi8NCiAJCXJlZyAmPSB+KE1YNl9CTV9PVkVSX0NVUl9ESVMgfCBNWDZfQk1fT1ZF Ul9DVVJfUE9MQVJJVFkpOw0KKwl9IGVsc2Ugew0KKwkJcmVnICY9IH5NWDZfQk1fT1ZFUl9DVVJf RElTOw0KKwkJcmVnIHw9IE1YNl9CTV9PVkVSX0NVUl9QT0xBUklUWTsNCiAJfQ0KKw0KIAl3cml0 ZWwocmVnLCB1c2JtaXNjLT5iYXNlKTsNCiANCiAJcmVnID0gcmVhZGwodXNibWlzYy0+YmFzZSAr IE1YN0RfVVNCTkNfVVNCX0NUUkwyKTsNCg==