From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH 2/3] ipmi/bt-bmc: maintain a request expiry list Date: Wed, 2 Nov 2016 08:57:05 +0100 Message-ID: <1478073426-3714-3-git-send-email-clg@kaod.org> References: <1478073426-3714-1-git-send-email-clg@kaod.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1478073426-3714-1-git-send-email-clg@kaod.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Corey Minyard , openipmi-developer@lists.sourceforge.net, Joel Stanley Cc: devicetree@vger.kernel.org, Rob Herring , linux-arm-kernel@lists.infradead.org, Arnd Bergmann , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= List-Id: devicetree@vger.kernel.org UmVnYXJkaW5nIHRoZSByZXNwb25zZSBleHBpcmF0aW9uIGhhbmRsaW5nLCB0aGUgSVBNSSBzcGVj IHNheXMgOgoKICAgVGhlIEJNQyBtdXN0IG5vdCByZXR1cm4gYSBnaXZlbiByZXNwb25zZSBvbmNl IHRoZSBjb3JyZXNwb25kaW5nCiAgIFJlcXVlc3QtdG8tUmVzcG9uc2UgaW50ZXJ2YWwgaGFzIHBh c3NlZC4gVGhlIEJNQyBjYW4gZW5zdXJlIHRoaXMKICAgYnkgbWFpbnRhaW5pbmcgaXRzIG93biBp bnRlcm5hbCBsaXN0IG9mIG91dHN0YW5kaW5nIHJlcXVlc3RzIHRocm91Z2gKICAgdGhlIGludGVy ZmFjZS4gVGhlIEJNQyBjb3VsZCBhZ2UgYW5kIGV4cGlyZSB0aGUgZW50cmllcyBpbiB0aGUgbGlz dAogICBieSBleHBpcmluZyB0aGUgZW50cmllcyBhdCBhbiBpbnRlcnZhbCB0aGF0IGlzIHNvbWV3 aGF0IHNob3J0ZXIgdGhhbgogICB0aGUgc3BlY2lmaWVkIFJlcXVlc3QtdG8tUmVzcG9uc2UgaW50 ZXJ2YWwuLi4uCgpUbyBoYW5kbGUgc3VjaCBjYXNlLCB3ZSBtYWludGFpbiBsaXN0IG9mIHJlY2Vp dmVkIHJlcXVlc3RzIHVzaW5nIHRoZQpzZXEgbnVtYmVyIG9mIHRoZSBCVCBtZXNzYWdlIHRvIGlk ZW50aWZ5IHRoZW0uIFRoZSBsaXN0IGlzIHVwZGF0ZWQKZWFjaCB0aW1lIGEgcmVxdWVzdCBpcyBy ZWNlaXZlZCBhbmQgYSByZXNwb25zZSBpcyBzZW50LiBUaGUgZXhwaXJhdGlvbgpvZiB0aGUgcmVw b25zZXMgaXMgaGFuZGxlZCBhdCBlYWNoIHVwZGF0ZXMgYnV0IGFsc28gd2l0aCBhIHRpbWVyLgoK U2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0BrYW9kLm9yZz4KLS0tCiBkcml2 ZXJzL2NoYXIvaXBtaS9idC1ibWMuYyB8IDEzMiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcG1pL2J0LWJtYy5jIGIvZHJpdmVycy9jaGFyL2lwbWkv YnQtYm1jLmMKaW5kZXggZmM5ZTg4OTFlYWUzLi5lNzUxZTRhNzU0YjcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvY2hhci9pcG1pL2J0LWJtYy5jCisrKyBiL2RyaXZlcnMvY2hhci9pcG1pL2J0LWJtYy5j CkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAj aW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVk ZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAKIC8qCkBAIC01Nyw2 ICs1OCwxNSBAQAogCiAjZGVmaW5lIEJUX0JNQ19CVUZGRVJfU0laRSAyNTYKIAorI2RlZmluZSBC VF9CTUNfUkVTUE9OU0VfVElNRQk1IC8qIHNlY29uZHMgKi8KKworc3RydWN0IGlwbWlfcmVxdWVz dCB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCisJdTggc2VxOworCXVuc2lnbmVkIGxvbmcg ZXhwaXJlczsKK307CisKIHN0cnVjdCBidF9ibWMgewogCXN0cnVjdCBkZXZpY2UJCWRldjsKIAlz dHJ1Y3QgbWlzY2RldmljZQltaXNjZGV2OwpAQCAtNjUsNiArNzUsMTEgQEAgc3RydWN0IGJ0X2Jt YyB7CiAJd2FpdF9xdWV1ZV9oZWFkX3QJcXVldWU7CiAJc3RydWN0IHRpbWVyX2xpc3QJcG9sbF90 aW1lcjsKIAlzdHJ1Y3QgbXV0ZXgJCW11dGV4OworCisJdW5zaWduZWQgaW50CQlyZXNwb25zZV90 aW1lOworCXN0cnVjdCB0aW1lcl9saXN0CXJlcXVlc3RzX3RpbWVyOworCXNwaW5sb2NrX3QgICAg ICAgICAgICAgIHJlcXVlc3RzX2xvY2s7CisJc3RydWN0IGxpc3RfaGVhZCAgICAgICAgcmVxdWVz dHM7CiB9OwogCiBzdGF0aWMgYXRvbWljX3Qgb3Blbl9jb3VudCA9IEFUT01JQ19JTklUKDApOwpA QCAtMTYzLDYgKzE3OCw5NCBAQCBzdGF0aWMgaW50IGJ0X2JtY19vcGVuKHN0cnVjdCBpbm9kZSAq aW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogfQogCiAvKgorICogbG9jayBzaG91bGQgYmUgaGVs ZAorICovCitzdGF0aWMgdm9pZCBkcm9wX2V4cGlyZWRfcmVxdWVzdHMoc3RydWN0IGJ0X2JtYyAq YnRfYm1jKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSAwOworCXN0cnVjdCBpcG1pX3JlcXVl c3QgKnJlcSwgKm5leHQ7CisJdW5zaWduZWQgbG9uZyBuZXh0X2V4cGlyZXMgPSAwOworCWludCBz dGFydF90aW1lciA9IDA7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmYnRfYm1jLT5yZXF1ZXN0c19s b2NrLCBmbGFncyk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJlcSwgbmV4dCwgJmJ0X2Jt Yy0+cmVxdWVzdHMsIGxpc3QpIHsKKwkJaWYgKHRpbWVfYWZ0ZXJfZXEoamlmZmllcywgcmVxLT5l eHBpcmVzKSkgeworCQkJcHJfd2FybigiQlQ6IHJlcXVlc3Qgc2VxOiVkIGhhcyBleHBpcmVkLiBk cm9wcGluZ1xuIiwKKwkJCQlyZXEtPnNlcSk7CisJCQlsaXN0X2RlbCgmcmVxLT5saXN0KTsKKwkJ CWtmcmVlKHJlcSk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXN0YXJ0X3RpbWVyKSB7CisJ CQlzdGFydF90aW1lciA9IDE7CisJCQluZXh0X2V4cGlyZXMgPSByZXEtPmV4cGlyZXM7CisJCX0g ZWxzZSB7CisJCQluZXh0X2V4cGlyZXMgPSBtaW4obmV4dF9leHBpcmVzLCByZXEtPmV4cGlyZXMp OworCQl9CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmJ0X2JtYy0+cmVxdWVzdHNfbG9j aywgZmxhZ3MpOworCisJLyogYW5kIHBvc3NpYmx5IHJlc3RhcnQgKi8KKwlpZiAoc3RhcnRfdGlt ZXIpCisJCW1vZF90aW1lcigmYnRfYm1jLT5yZXF1ZXN0c190aW1lciwgbmV4dF9leHBpcmVzKTsK K30KKworc3RhdGljIHZvaWQgcmVxdWVzdHNfdGltZXIodW5zaWduZWQgbG9uZyBkYXRhKQorewor CXN0cnVjdCBidF9ibWMgKmJ0X2JtYyA9ICh2b2lkICopZGF0YTsKKworCWRyb3BfZXhwaXJlZF9y ZXF1ZXN0cyhidF9ibWMpOworfQorCitzdGF0aWMgaW50IGJ0X2JtY19hZGRfcmVxdWVzdChzdHJ1 Y3QgYnRfYm1jICpidF9ibWMsIHU4IHNlcSkKK3sKKwlzdHJ1Y3QgaXBtaV9yZXF1ZXN0ICpyZXE7 CisKKwlyZXEgPSBrbWFsbG9jKHNpemVvZigqcmVxKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXEp CisJCXJldHVybiAtRU5PTUVNOworCisJcmVxLT5zZXEgPSBzZXE7CisJcmVxLT5leHBpcmVzID0g amlmZmllcyArCisJCW1zZWNzX3RvX2ppZmZpZXMoYnRfYm1jLT5yZXNwb25zZV90aW1lICogMTAw MCk7CisKKwlzcGluX2xvY2soJmJ0X2JtYy0+cmVxdWVzdHNfbG9jayk7CisJbGlzdF9hZGQoJnJl cS0+bGlzdCwgJmJ0X2JtYy0+cmVxdWVzdHMpOworCXNwaW5fdW5sb2NrKCZidF9ibWMtPnJlcXVl c3RzX2xvY2spOworCisJZHJvcF9leHBpcmVkX3JlcXVlc3RzKGJ0X2JtYyk7CisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBpbnQgYnRfYm1jX3JlbW92ZV9yZXF1ZXN0KHN0cnVjdCBidF9ibWMgKmJ0 X2JtYywgdTggc2VxKQoreworCXN0cnVjdCBpcG1pX3JlcXVlc3QgKnJlcSwgKm5leHQ7CisJaW50 IHJldCA9IC1FQkFEUlFDOyAvKiBJbnZhbGlkIHJlcXVlc3QgY29kZSAqLworCisJc3Bpbl9sb2Nr KCZidF9ibWMtPnJlcXVlc3RzX2xvY2spOworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShyZXEs IG5leHQsICZidF9ibWMtPnJlcXVlc3RzLCBsaXN0KSB7CisJCS8qCisJCSAqIFRoZSBzZXF1ZW5j ZSBudW1iZXIgc2hvdWxkIGJlIHVuaXF1ZSwgc28gcmVtb3ZlIHRoZQorCQkgKiBmaXJzdCBtYXRj aGluZyByZXF1ZXN0IGZvdW5kLiBJZiB0aGVyZSBhcmUgb3RoZXJzLAorCQkgKiB0aGV5IHNob3Vs ZCBleHBpcmUKKwkJICovCisJCWlmIChyZXEtPnNlcSA9PSBzZXEpIHsKKwkJCWxpc3RfZGVsKCZy ZXEtPmxpc3QpOworCQkJa2ZyZWUocmVxKTsKKwkJCXJldCA9IDA7CisJCQlicmVhazsKKwkJfQor CX0KKwlzcGluX3VubG9jaygmYnRfYm1jLT5yZXF1ZXN0c19sb2NrKTsKKworCWlmIChyZXQpCisJ CXByX3dhcm4oIkJUOiByZXF1ZXN0IHNlcTolZCBpcyBpbnZhbGlkXG4iLCBzZXEpOworCisJZHJv cF9leHBpcmVkX3JlcXVlc3RzKGJ0X2JtYyk7CisJcmV0dXJuIHJldDsKK30KKworLyoKICAqIFRo ZSBCVCAoQmxvY2sgVHJhbnNmZXIpIGludGVyZmFjZSBtZWFucyB0aGF0IGVudGlyZSBtZXNzYWdl cyBhcmUKICAqIGJ1ZmZlcmVkIGJ5IHRoZSBob3N0IGJlZm9yZSBhIG5vdGlmaWNhdGlvbiBpcyBz ZW50IHRvIHRoZSBCTUMgdGhhdAogICogdGhlcmUgaXMgZGF0YSB0byBiZSByZWFkLiBUaGUgZmly c3QgYnl0ZSBpcyB0aGUgbGVuZ3RoIGFuZCB0aGUKQEAgLTIzMSw2ICszMzQsMTMgQEAgc3RhdGlj IHNzaXplX3QgYnRfYm1jX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWYs CiAJCWxlbl9ieXRlID0gMDsKIAl9CiAKKwlpZiAocmV0ID4gMCkgeworCQlpbnQgcmV0MiA9IGJ0 X2JtY19hZGRfcmVxdWVzdChidF9ibWMsIGtidWZmZXJbMl0pOworCisJCWlmIChyZXQyKQorCQkJ cmV0ID0gcmV0MjsKKwl9CisKIAljbHJfYl9idXN5KGJ0X2JtYyk7CiAKIG91dF91bmxvY2s6CkBA IC0yODMsMTIgKzM5MywyMCBAQCBzdGF0aWMgc3NpemVfdCBidF9ibWNfd3JpdGUoc3RydWN0IGZp bGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWYsCiAJY2xyX3dyX3B0cihidF9ibWMpOwog CiAJd2hpbGUgKGNvdW50KSB7CisJCWludCByZXQyOworCiAJCW53cml0dGVuID0gbWluX3Qoc3Np emVfdCwgY291bnQsIHNpemVvZihrYnVmZmVyKSk7CiAJCWlmIChjb3B5X2Zyb21fdXNlcigma2J1 ZmZlciwgYnVmLCBud3JpdHRlbikpIHsKIAkJCXJldCA9IC1FRkFVTFQ7CiAJCQlicmVhazsKIAkJ fQogCisJCXJldDIgPSBidF9ibWNfcmVtb3ZlX3JlcXVlc3QoYnRfYm1jLCBrYnVmZmVyWzJdKTsK KwkJaWYgKHJldDIpIHsKKwkJCXJldCA9IHJldDI7CisJCQlicmVhazsKKwkJfQorCiAJCWJ0X3dy aXRlbihidF9ibWMsIGtidWZmZXIsIG53cml0dGVuKTsKIAogCQljb3VudCAtPSBud3JpdHRlbjsK QEAgLTQzOCw2ICs1NTYsOCBAQCBzdGF0aWMgaW50IGJ0X2JtY19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQogCiAJbXV0ZXhfaW5pdCgmYnRfYm1jLT5tdXRleCk7CiAJaW5pdF93 YWl0cXVldWVfaGVhZCgmYnRfYm1jLT5xdWV1ZSk7CisJSU5JVF9MSVNUX0hFQUQoJmJ0X2JtYy0+ cmVxdWVzdHMpOworCXNwaW5fbG9ja19pbml0KCZidF9ibWMtPnJlcXVlc3RzX2xvY2spOwogCiAJ YnRfYm1jLT5taXNjZGV2Lm1pbm9yCT0gTUlTQ19EWU5BTUlDX01JTk9SLAogCQlidF9ibWMtPm1p c2NkZXYubmFtZQk9IERFVklDRV9OQU1FLApAQCAtNDUxLDYgKzU3MSw4IEBAIHN0YXRpYyBpbnQg YnRfYm1jX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAlidF9ibWNfY29u ZmlnX2lycShidF9ibWMsIHBkZXYpOwogCisJYnRfYm1jLT5yZXNwb25zZV90aW1lID0gQlRfQk1D X1JFU1BPTlNFX1RJTUU7CisKIAlpZiAoYnRfYm1jLT5pcnEpIHsKIAkJZGV2X2luZm8oZGV2LCAi VXNpbmcgSVJRICVkXG4iLCBidF9ibWMtPmlycSk7CiAJfSBlbHNlIHsKQEAgLTQ2OCw2ICs1OTAs OSBAQCBzdGF0aWMgaW50IGJ0X2JtY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCQkgIEJUX0NSMF9FTkFCTEVfSUJULAogCQkgIGJ0X2JtYy0+YmFzZSArIEJUX0NSMCk7CiAK KwlzZXR1cF90aW1lcigmYnRfYm1jLT5yZXF1ZXN0c190aW1lciwgcmVxdWVzdHNfdGltZXIsCisJ CSAgICAodW5zaWduZWQgbG9uZylidF9ibWMpOworCiAJY2xyX2JfYnVzeShidF9ibWMpOwogCiAJ cmV0dXJuIDA7CkBAIC00NzYsMTAgKzYwMSwxNyBAQCBzdGF0aWMgaW50IGJ0X2JtY19wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogc3RhdGljIGludCBidF9ibWNfcmVtb3ZlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGJ0X2JtYyAqYnRfYm1jID0g ZGV2X2dldF9kcnZkYXRhKCZwZGV2LT5kZXYpOworCXN0cnVjdCBpcG1pX3JlcXVlc3QgKnJlcSwg Km5leHQ7CiAKIAltaXNjX2RlcmVnaXN0ZXIoJmJ0X2JtYy0+bWlzY2Rldik7CiAJaWYgKCFidF9i bWMtPmlycSkKIAkJZGVsX3RpbWVyX3N5bmMoJmJ0X2JtYy0+cG9sbF90aW1lcik7CisKKwlkZWxf dGltZXJfc3luYygmYnRfYm1jLT5yZXF1ZXN0c190aW1lcik7CisJbGlzdF9mb3JfZWFjaF9lbnRy eV9zYWZlKHJlcSwgbmV4dCwgJmJ0X2JtYy0+cmVxdWVzdHMsIGxpc3QpIHsKKwkJbGlzdF9kZWwo JnJlcS0+bGlzdCk7CisJCWtmcmVlKHJlcSk7CisJfQogCXJldHVybiAwOwogfQogCi0tIAoyLjcu NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK