Date: Wed, 6 Oct 2010 00:27:44 +0000 From: Paul B Mahol <onemda@gmail.com> To: Julian Elischer <julian@freebsd.org> Cc: freebsd-net@freebsd.org Subject: Re: ndis: fix ugly code Message-ID: <AANLkTimWn1q9RJMdXsu44kmwEeTVWEQ%2B1O%2BrT%2BM0puWn@mail.gmail.com> In-Reply-To: <4CAB9212.4010203@freebsd.org> References: <AANLkTinpUmhczHu1mmtuO1BaibSpT1xUG0PY-Km8wHvL@mail.gmail.com> <4CAB9212.4010203@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--001636284556a0a0e90491e7d894 Content-Type: text/plain; charset=ISO-8859-1 On 10/5/10, Julian Elischer <julian@freebsd.org> wrote: > On 10/5/10 1:19 PM, Paul B Mahol wrote: >> Hi, >> >> If clang did not complain, I would probbaly never spot it. >> >> Patch attached. > > personally I think you could use kproc_kthread_add so that a single > NDIS process had three threads. Patch attached. Now we have single "ndis" kernel process with own threads. --001636284556a0a0e90491e7d894 Content-Type: text/plain; charset=US-ASCII; name="diff.txt" Content-Disposition: attachment; filename="diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 ZGlmZiAtLWdpdCBhL3N5cy9jb21wYXQvbmRpcy9zdWJyX250b3Nrcm5sLmMgYi9zeXMvY29tcGF0 L25kaXMvc3Vicl9udG9za3JubC5jCmluZGV4IDcxNGZjZDguLmVhZmJiN2MgMTAwNjQ0Ci0tLSBh L3N5cy9jb21wYXQvbmRpcy9zdWJyX250b3Nrcm5sLmMKKysrIGIvc3lzL2NvbXBhdC9uZGlzL3N1 YnJfbnRvc2tybmwuYwpAQCAtMjU0LDYgKzI1NCw3IEBAIHN0YXRpYyBpbnQzMl90IEtlRGVsYXlF eGVjdXRpb25UaHJlYWQodWludDhfdCwgdWludDhfdCwgaW50NjRfdCAqKTsKIHN0YXRpYyBpbnQz Ml90IEtlU2V0UHJpb3JpdHlUaHJlYWQoc3RydWN0IHRocmVhZCAqLCBpbnQzMl90KTsKIHN0YXRp YyB2b2lkIGR1bW15KHZvaWQpOwogCitzdGF0aWMgc3RydWN0IHByb2MgKm5kaXNwcm9jOwogc3Rh dGljIHN0cnVjdCBtdHggbnRvc2tybmxfZGlzcGF0Y2hsb2NrOwogc3RhdGljIHN0cnVjdCBtdHgg bnRvc2tybmxfaW50ZXJsb2NrOwogc3RhdGljIGtzcGluX2xvY2sgbnRvc2tybmxfY2FuY2VsbG9j azsKQEAgLTI3MCw3ICsyNzEsNyBAQCBudG9za3JubF9saWJpbml0KCkKIHsKIAlpbWFnZV9wYXRj aF90YWJsZQkqcGF0Y2g7CiAJaW50CQkJZXJyb3I7Ci0Jc3RydWN0IHByb2MJCSpwOworCXN0cnVj dCB0aHJlYWQJCSp0OwogCWtkcGNfcXVldWUJCSprcTsKIAljYWxsb3V0X2VudHJ5CQkqZTsKIAlp bnQJCQlpOwpAQCAtMzIwLDggKzMyMSw5IEBAIG50b3Nrcm5sX2xpYmluaXQoKQogI2VuZGlmCiAJ CWtxID0ga3FfcXVldWVzICsgaTsKIAkJa3EtPmtxX2NwdSA9IGk7Ci0JCWVycm9yID0ga3Byb2Nf Y3JlYXRlKG50b3Nrcm5sX2RwY190aHJlYWQsIGtxLCAmcCwKLQkJICAgIFJGSElHSFBJRCwgTkRJ U19LU1RBQ0tfUEFHRVMsICJXaW5kb3dzIERQQyAlZCIsIGkpOworCQllcnJvciA9IGtwcm9jX2t0 aHJlYWRfYWRkKG50b3Nrcm5sX2RwY190aHJlYWQsIGtxLAorCQkgICAgJm5kaXNwcm9jLCAmdCwg UkZISUdIUElELCBORElTX0tTVEFDS19QQUdFUywgIm5kaXMiLAorCQkgICAgIldpbmRvd3MgRFBD ICVkIiwgaSk7CiAJCWlmIChlcnJvcikKIAkJCXBhbmljKCJmYWlsZWQgdG8gbGF1bmNoIERQQyB0 aHJlYWQiKTsKIAl9CkBAIC0zMzIsOCArMzM0LDkgQEAgbnRvc2tybmxfbGliaW5pdCgpCiAKIAlm b3IgKGkgPSAwOyBpIDwgV09SS0lURU1fVEhSRUFEUzsgaSsrKSB7CiAJCWtxID0gd3FfcXVldWVz ICsgaTsKLQkJZXJyb3IgPSBrcHJvY19jcmVhdGUobnRvc2tybmxfd29ya2l0ZW1fdGhyZWFkLCBr cSwgJnAsCi0JCSAgICBSRkhJR0hQSUQsIE5ESVNfS1NUQUNLX1BBR0VTLCAiV2luZG93cyBXb3Jr aXRlbSAlZCIsIGkpOworCQllcnJvciA9IGtwcm9jX2t0aHJlYWRfYWRkKG50b3Nrcm5sX3dvcmtp dGVtX3RocmVhZCwga3EsCisJCSAgICAmbmRpc3Byb2MsICZ0LCBSRkhJR0hQSUQsIE5ESVNfS1NU QUNLX1BBR0VTLCAibmRpcyIsCisJCSAgICAiV2luZG93cyBXb3JraXRlbSAlZCIsIGkpOwogCQlp ZiAoZXJyb3IpCiAJCQlwYW5pYygiZmFpbGVkIHRvIGxhdW5jaCB3b3JraXRlbSB0aHJlYWQiKTsK IAl9CkBAIC0yNzAxLDcgKzI3MDQsNyBAQCBudG9za3JubF93b3JraXRlbV90aHJlYWQoYXJnKQog I2lmIF9fRnJlZUJTRF92ZXJzaW9uIDwgNTAyMTEzCiAJbXR4X2xvY2soJkdpYW50KTsKICNlbmRp ZgotCWtwcm9jX2V4aXQoMCk7CisJa3RocmVhZF9leGl0KCk7CiAJcmV0dXJuOyAvKiBub3RyZWFj aGVkICovCiB9CiAKQEAgLTMzODAsNyArMzM4Myw3IEBAIFBzQ3JlYXRlU3lzdGVtVGhyZWFkKGhh bmRsZSwgcmVxYWNjZXNzLCBvYmphdHRycywgcGhhbmRsZSwKIHsKIAlpbnQJCQllcnJvcjsKIAl0 aHJlYWRfY29udGV4dAkJKnRjOwotCXN0cnVjdCBwcm9jCQkqcDsKKwlzdHJ1Y3QgdGhyZWFkCQkq dDsKIAogCXRjID0gbWFsbG9jKHNpemVvZih0aHJlYWRfY29udGV4dCksIE1fVEVNUCwgTV9OT1dB SVQpOwogCWlmICh0YyA9PSBOVUxMKQpAQCAtMzM4OSwxNSArMzM5MiwxNiBAQCBQc0NyZWF0ZVN5 c3RlbVRocmVhZChoYW5kbGUsIHJlcWFjY2Vzcywgb2JqYXR0cnMsIHBoYW5kbGUsCiAJdGMtPnRj X3RocmN0eCA9IHRocmN0eDsKIAl0Yy0+dGNfdGhyZnVuYyA9IHRocmZ1bmM7CiAKLQllcnJvciA9 IGtwcm9jX2NyZWF0ZShudG9za3JubF90aHJmdW5jLCB0YywgJnAsCi0JICAgIFJGSElHSFBJRCwg TkRJU19LU1RBQ0tfUEFHRVMsICJXaW5kb3dzIEt0aHJlYWQgJWQiLCBudG9za3JubF9rdGgpOwor CWVycm9yID0ga3Byb2Nfa3RocmVhZF9hZGQobnRvc2tybmxfdGhyZnVuYywgdGMsICZuZGlzcHJv YywgJnQsCisJICAgIFJGSElHSFBJRCwgTkRJU19LU1RBQ0tfUEFHRVMsICJuZGlzIiwKKwkgICAg IldpbmRvd3MgS3RocmVhZCAlZCIsIG50b3Nrcm5sX2t0aCk7CiAKIAlpZiAoZXJyb3IpIHsKIAkJ ZnJlZSh0YywgTV9URU1QKTsKIAkJcmV0dXJuIChTVEFUVVNfSU5TVUZGSUNJRU5UX1JFU09VUkNF Uyk7CiAJfQogCi0JKmhhbmRsZSA9IHA7CisJKmhhbmRsZSA9IHQ7CiAJbnRvc2tybmxfa3RoKys7 CiAKIAlyZXR1cm4gKFNUQVRVU19TVUNDRVNTKTsKQEAgLTM0MzIsNyArMzQzNiw3IEBAIFBzVGVy bWluYXRlU3lzdGVtVGhyZWFkKHN0YXR1cykKICNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA8IDUwMjEx MwogCW10eF9sb2NrKCZHaWFudCk7CiAjZW5kaWYKLQlrcHJvY19leGl0KDApOworCWt0aHJlYWRf ZXhpdCgpOwogCXJldHVybiAoMCk7CS8qIG5vdHJlYWNoZWQgKi8KIH0KIApAQCAtMzc0MCw3ICsz NzQ0LDcgQEAgbnRvc2tybmxfZHBjX3RocmVhZChhcmcpCiAjaWYgX19GcmVlQlNEX3ZlcnNpb24g PCA1MDIxMTMKIAltdHhfbG9jaygmR2lhbnQpOwogI2VuZGlmCi0Ja3Byb2NfZXhpdCgwKTsKKwlr dGhyZWFkX2V4aXQoKTsKIAlyZXR1cm47IC8qIG5vdHJlYWNoZWQgKi8KIH0KIAo= --001636284556a0a0e90491e7d894--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimWn1q9RJMdXsu44kmwEeTVWEQ%2B1O%2BrT%2BM0puWn>