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: [2/5] USB: serial: cp210x: honour device-type maximum line speed From: Johan Hovold Message-Id: <20180718122501.14926-3-johan@kernel.org> Date: Wed, 18 Jul 2018 14:24:58 +0200 To: Johan Hovold Cc: Greg Kroah-Hartman , Karoly Pados , linux-usb@vger.kernel.org List-ID: TmV3ZXIgY3AyMTB4IGRldmljZXMgc3VwcG9ydCBoaWdoZXIgbGluZSBzcGVlZHMgdGhhbiB0aGUg b2xkZXIgb25lcwp3aGljaCBzdXBwb3J0ZWQgYSBkaXNjcmV0ZSBzZXQgb2Ygc3BlZWRzIHVwIHRv IDkyMS42IGtiYXVkLgoKVG8gc3VwcG9ydCB0aGVzZSBoaWdoZXIgc3BlZWRzLCB3ZSBoYXZlIGZv ciBzb21lIHRpbWUgbWFwcGVkIHNwZWVkcwpsb3dlciB0aGFuIDEgTWJhdWQgdG8gdGhlIHNwZWVk cyBzdXBwb3J0ZWQgYnkgb2xkZXIgZGV2aWNlcywgd2hpbGUKYWxsb3dpbmcgdGhlIGRldmljZSB0 byBwaWNrIHRoZSBjbG9zZXN0IHBvc3NpYmxlIHJhdGUgZm9yIGhpZ2hlciBzcGVlZHMKKHdpdGhv dXQgdHJ5aW5nIHRvIGd1ZXNzIGFuZCByZXBvcnQgYmFjayB3aGF0IHJhdGUgd2FzIGFjdHVhbGx5 IGNob3NlbikuCgpBcyB0aGlzIGltcGxlbWVudGF0aW9uIGNhbiBsZWFkIHRvIHVuZGVmaW5lZCBi ZWhhdmlvdXIgZm9yIG9sZGVyIGRldmljZXMKd2hpY2ggZG8gbm90IHN1cHBvcnQgdGhlIGhpZ2hl ciByYXRlcywgbGV0J3MgdXNlIHRoZSBsYXRlci1hZGRlZApkZXZpY2UtdHlwZSBkZXRlY3Rpb24g dG8gZGV0ZXJtaW5lIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCBzcGVlZC4KClRoaXMgd2lsbCBhbHNv IGJlIHVzZWZ1bCB3aGVuIGFkZGluZyBzdXBwb3J0IGZvciBjcDIxMDJuIHdoaWNoIGNhbgpoYW5k bGUgcmF0ZXMgdXAgdG8gMyBNYmF1ZC4KCkFzIHBlciB0aGUgZGF0YSBzaGVldHMgdGhlIGZvbGxv d2luZyBtYXhpbXVtIHNwZWVkcyBhcmUgdXNlZAoKCWNwMjEwMQkJOTIxLjYga2JhdWQKCWNwMjEw Mi8zCTEgTWJhdWQKCWNwMjEwNC84CTIgTWJhdWQKCWNwMjEwNQoJIC0gRUNJIHBvcnQJMiBNYmF1 ZAoJIC0gU0NJIHBvcnQJOTIxLjYga2JhdWQKCndoaWxlIGtlZXBpbmcgdGhlIG1heGltdW0gMiBN YmF1ZCBmb3IgdW5rbm93biBkZXZpY2UgdHlwZXMgaW4gb3JkZXIgdG8KYXZvaWQgYW55IHJlZ3Jl c3Npb25zLgoKU2lnbmVkLW9mZi1ieTogSm9oYW4gSG92b2xkIDxqb2hhbkBrZXJuZWwub3JnPgot LS0KIGRyaXZlcnMvdXNiL3NlcmlhbC9jcDIxMHguYyB8IDQxICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9jcDIxMHguYyBiL2Ry aXZlcnMvdXNiL3NlcmlhbC9jcDIxMHguYwppbmRleCAxYjM4MDMwOWY2NTMuLjQyODFmMmJmZTBl MSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2NwMjEweC5jCisrKyBiL2RyaXZlcnMv dXNiL3NlcmlhbC9jcDIxMHguYwpAQCAtMjI5LDYgKzIyOSw3IEBAIHN0cnVjdCBjcDIxMHhfc2Vy aWFsX3ByaXZhdGUgewogCWJvb2wJCQlncGlvX3JlZ2lzdGVyZWQ7CiAjZW5kaWYKIAl1OAkJCXBh cnRudW07CisJc3BlZWRfdAkJCW1heF9zcGVlZDsKIH07CiAKIHN0cnVjdCBjcDIxMHhfcG9ydF9w cml2YXRlIHsKQEAgLTEwNTIsMTkgKzEwNTMsMjAgQEAgc3RhdGljIHNwZWVkX3QgY3AyMTB4X2dl dF9hbjIwNV9yYXRlKHNwZWVkX3QgYmF1ZCkKIHN0YXRpYyB2b2lkIGNwMjEweF9jaGFuZ2Vfc3Bl ZWQoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwKIAkJc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9y dCwgc3RydWN0IGt0ZXJtaW9zICpvbGRfdGVybWlvcykKIHsKKwlzdHJ1Y3QgY3AyMTB4X3Nlcmlh bF9wcml2YXRlICpwcml2ID0gdXNiX2dldF9zZXJpYWxfZGF0YShwb3J0LT5zZXJpYWwpOwogCXUz MiBiYXVkOwogCiAJYmF1ZCA9IHR0eS0+dGVybWlvcy5jX29zcGVlZDsKIAogCS8qIFRoaXMgbWFw cyB0aGUgcmVxdWVzdGVkIHJhdGUgdG8gYSByYXRlIHZhbGlkIG9uIGNwMjEwMiBvciBjcDIxMDMs Ci0JICogb3IgdG8gYW4gYXJiaXRyYXJ5IHJhdGUgaW4gWzFNLDJNXS4KKwkgKiBvciB0byBhbiBh cmJpdHJhcnkgcmF0ZSBpbiBbMU0sIG1heF9zcGVlZF0KIAkgKgogCSAqIE5PVEU6IEIwIGlzIG5v dCBpbXBsZW1lbnRlZC4KIAkgKi8KIAlpZiAoYmF1ZCA8IDEwMDAwMDApCiAJCWJhdWQgPSBjcDIx MHhfZ2V0X2FuMjA1X3JhdGUoYmF1ZCk7Ci0JZWxzZSBpZiAoYmF1ZCA+IDIwMDAwMDApCi0JCWJh dWQgPSAyMDAwMDAwOworCWVsc2UgaWYgKGJhdWQgPiBwcml2LT5tYXhfc3BlZWQpCisJCWJhdWQg PSBwcml2LT5tYXhfc3BlZWQ7CiAKIAlkZXZfZGJnKCZwb3J0LT5kZXYsICIlcyAtIHNldHRpbmcg YmF1ZCByYXRlIHRvICV1XG4iLCBfX2Z1bmNfXywgYmF1ZCk7CiAJaWYgKGNwMjEweF93cml0ZV91 MzJfcmVnKHBvcnQsIENQMjEwWF9TRVRfQkFVRFJBVEUsIGJhdWQpKSB7CkBAIC0xNDk1LDYgKzE0 OTcsMzcgQEAgc3RhdGljIGludCBjcDIxMHhfcG9ydF9yZW1vdmUoc3RydWN0IHVzYl9zZXJpYWxf cG9ydCAqcG9ydCkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgY3AyMTB4X2luaXRfbWF4 X3NwZWVkKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwpCit7CisJc3RydWN0IGNwMjEweF9zZXJp YWxfcHJpdmF0ZSAqcHJpdiA9IHVzYl9nZXRfc2VyaWFsX2RhdGEoc2VyaWFsKTsKKwlzcGVlZF90 IG1heDsKKworCXN3aXRjaCAocHJpdi0+cGFydG51bSkgeworCWNhc2UgQ1AyMTBYX1BBUlROVU1f Q1AyMTAxOgorCQltYXggPSA5MjE2MDA7CisJCWJyZWFrOworCWNhc2UgQ1AyMTBYX1BBUlROVU1f Q1AyMTAyOgorCWNhc2UgQ1AyMTBYX1BBUlROVU1fQ1AyMTAzOgorCQltYXggPSAxMDAwMDAwOwor CQlicmVhazsKKwljYXNlIENQMjEwWF9QQVJUTlVNX0NQMjEwNDoKKwljYXNlIENQMjEwWF9QQVJU TlVNX0NQMjEwODoKKwkJbWF4ID0gMjAwMDAwMDsKKwkJYnJlYWs7CisJY2FzZSBDUDIxMFhfUEFS VE5VTV9DUDIxMDU6CisJCWlmIChjcDIxMHhfaW50ZXJmYWNlX251bShzZXJpYWwpID09IDApCisJ CQltYXggPSAyMDAwMDAwOwkvKiBFQ0kgKi8KKwkJZWxzZQorCQkJbWF4ID0gOTIxNjAwOwkvKiBT Q0kgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJbWF4ID0gMjAwMDAwMDsKKwkJYnJlYWs7CisJ fQorCisJcHJpdi0+bWF4X3NwZWVkID0gbWF4OworfQorCiBzdGF0aWMgaW50IGNwMjEweF9hdHRh Y2goc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCkKIHsKIAlpbnQgcmVzdWx0OwpAQCAtMTUxNSw2 ICsxNTQ4LDggQEAgc3RhdGljIGludCBjcDIxMHhfYXR0YWNoKHN0cnVjdCB1c2Jfc2VyaWFsICpz ZXJpYWwpCiAKIAl1c2Jfc2V0X3NlcmlhbF9kYXRhKHNlcmlhbCwgcHJpdik7CiAKKwljcDIxMHhf aW5pdF9tYXhfc3BlZWQoc2VyaWFsKTsKKwogCWlmIChwcml2LT5wYXJ0bnVtID09IENQMjEwWF9Q QVJUTlVNX0NQMjEwNSkgewogCQlyZXN1bHQgPSBjcDIxMDVfc2hhcmVkX2dwaW9faW5pdChzZXJp YWwpOwogCQlpZiAocmVzdWx0IDwgMCkgewo=