Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jan 2009 11:13:59 -0800
From:      Maksim Yevmenkin <maksim.yevmenkin@gmail.com>
To:        Lars Engels <lme@freebsd.org>
Cc:        current@freebsd.org, Hans Petter Selasky <hselasky@c2i.net>
Subject:   Re: [PATCH] for ng_ubt2 stalled transfers
Message-ID:  <bb4a86c70901231113v2b72423cg7aadbb7348d9bafe@mail.gmail.com>
In-Reply-To: <bb4a86c70901231112x693f18cmbb29b966cb972992@mail.gmail.com>
References:  <bb4a86c70901231112x693f18cmbb29b966cb972992@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000e0cd14d34ee6a0204612b3091
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

On Fri, Jan 23, 2009 at 11:12 AM, Maksim Yevmenkin
<maksim.yevmenkin@gmail.com> wrote:
> Lars,
>
>> Maksim has made a lot of changes to the Bluetooth driver. Maybe he can look
>> into it?
>>
>> This looks like a NULL-pointer access to me.
>>
>> Maksim:
>>
>> In the ubt_detach routine, make sure that:
>>
>> 0) No further commands are accepted from the Netgraph stack.
>> 1) You drain the task queue!
>> 2) You drain all USB transfers: "usb2_transfer_drain()" called unlocked.
>> 3) Set the "sc_node" to NULL.
>
> please try attached patch for ng_ubt2 that hopefully addresses some of
> the issues with stalled transfers. stalled transfers do not happen on
> my machine, so i can not test it. i briefly kicked the tires and made
> sure other things seems to work fine for me.

sorry, forgot to attach the patch :)

thanks,
max

--000e0cd14d34ee6a0204612b3091
Content-Type: text/plain; charset=US-ASCII; name="ng_ubt2.stall.diff.txt"
Content-Disposition: attachment; filename="ng_ubt2.stall.diff.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fqb8e30z0

SW5kZXg6IG5nX3VidDIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBuZ191YnQyLmMJKHJldmlzaW9uIDE4NzUw
NSkKKysrIG5nX3VidDIuYwkod29ya2luZyBjb3B5KQpAQCAtMjQzLDEzICsyNDMsMTEgQEAKIC8q
IFVTQiBtZXRob2RzICovCiBzdGF0aWMgdXNiMl9jYWxsYmFja190CXVidF9jdHJsX3dyaXRlX2Nh
bGxiYWNrOwogc3RhdGljIHVzYjJfY2FsbGJhY2tfdAl1YnRfaW50cl9yZWFkX2NhbGxiYWNrOwot
c3RhdGljIHVzYjJfY2FsbGJhY2tfdAl1YnRfaW50cl9yZWFkX2NsZWFyX3N0YWxsX2NhbGxiYWNr
Owogc3RhdGljIHVzYjJfY2FsbGJhY2tfdAl1YnRfYnVsa19yZWFkX2NhbGxiYWNrOwotc3RhdGlj
IHVzYjJfY2FsbGJhY2tfdAl1YnRfYnVsa19yZWFkX2NsZWFyX3N0YWxsX2NhbGxiYWNrOwogc3Rh
dGljIHVzYjJfY2FsbGJhY2tfdAl1YnRfYnVsa193cml0ZV9jYWxsYmFjazsKLXN0YXRpYyB1c2Iy
X2NhbGxiYWNrX3QJdWJ0X2J1bGtfd3JpdGVfY2xlYXJfc3RhbGxfY2FsbGJhY2s7CiBzdGF0aWMg
dXNiMl9jYWxsYmFja190CXVidF9pc29jX3JlYWRfY2FsbGJhY2s7CiBzdGF0aWMgdXNiMl9jYWxs
YmFja190CXVidF9pc29jX3dyaXRlX2NhbGxiYWNrOworc3RhdGljIHVzYjJfY2FsbGJhY2tfdAl1
YnRfY2xlYXJfc3RhbGxfY2FsbGJhY2s7CiAKIHN0YXRpYyBpbnQJdWJ0X2lzb2NfcmVhZF9vbmVf
ZnJhbWUoc3RydWN0IHVzYjJfeGZlciAqLCBpbnQpOwogCkBAIC0zMTYsNyArMzE0LDcgQEAKIAkJ
LmVuZHBvaW50ID0JMHgwMCwJLyogY29udHJvbCBwaXBlICovCiAJCS5kaXJlY3Rpb24gPQlVRV9E
SVJfQU5ZLAogCQkubWguYnVmc2l6ZSA9CXNpemVvZihzdHJ1Y3QgdXNiMl9kZXZpY2VfcmVxdWVz
dCksCi0JCS5taC5jYWxsYmFjayA9CSZ1YnRfYnVsa193cml0ZV9jbGVhcl9zdGFsbF9jYWxsYmFj
aywKKwkJLm1oLmNhbGxiYWNrID0JJnVidF9jbGVhcl9zdGFsbF9jYWxsYmFjaywKIAkJLm1oLnRp
bWVvdXQgPQkxMDAwLAkvKiAxIHNlY29uZCAqLwogCQkubWguaW50ZXJ2YWwgPQk1MCwJLyogNTBt
cyAqLwogCX0sCkBAIC0zMjYsNyArMzI0LDcgQEAKIAkJLmVuZHBvaW50ID0JMHgwMCwJLyogY29u
dHJvbCBwaXBlICovCiAJCS5kaXJlY3Rpb24gPQlVRV9ESVJfQU5ZLAogCQkubWguYnVmc2l6ZSA9
CXNpemVvZihzdHJ1Y3QgdXNiMl9kZXZpY2VfcmVxdWVzdCksCi0JCS5taC5jYWxsYmFjayA9CSZ1
YnRfYnVsa19yZWFkX2NsZWFyX3N0YWxsX2NhbGxiYWNrLAorCQkubWguY2FsbGJhY2sgPQkmdWJ0
X2NsZWFyX3N0YWxsX2NhbGxiYWNrLAogCQkubWgudGltZW91dCA9CTEwMDAsCS8qIDEgc2Vjb25k
ICovCiAJCS5taC5pbnRlcnZhbCA9CTUwLAkvKiA1MG1zICovCiAJfSwKQEAgLTMzOSw3ICszMzcs
NyBAQAogCQkuZW5kcG9pbnQgPQkweDAwLAkvKiBjb250cm9sIHBpcGUgKi8KIAkJLmRpcmVjdGlv
biA9CVVFX0RJUl9BTlksCiAJCS5taC5idWZzaXplID0Jc2l6ZW9mKHN0cnVjdCB1c2IyX2Rldmlj
ZV9yZXF1ZXN0KSwKLQkJLm1oLmNhbGxiYWNrID0JJnVidF9pbnRyX3JlYWRfY2xlYXJfc3RhbGxf
Y2FsbGJhY2ssCisJCS5taC5jYWxsYmFjayA9CSZ1YnRfY2xlYXJfc3RhbGxfY2FsbGJhY2ssCiAJ
CS5taC50aW1lb3V0ID0JMTAwMCwJLyogMSBzZWNvbmQgKi8KIAkJLm1oLmludGVydmFsID0JNTAs
CS8qIDUwbXMgKi8KIAl9LApAQCAtNjIzLDYgKzYyMSw5IEBACiAJCW5nX3Jtbm9kZV9zZWxmKG5v
ZGUpOwogCX0KIAorCS8qIE1ha2Ugc3VyZSB1YnRfdGFzayBpbiBnb25lICovCisJdGFza3F1ZXVl
X2RyYWluKHRhc2txdWV1ZV9zd2ksICZzYy0+c2NfdGFzayk7CisKIAkvKiBGcmVlIFVTQiB0cmFu
c2ZlcnMsIGlmIGFueSAqLwogCXVzYjJfdHJhbnNmZXJfdW5zZXR1cChzYy0+c2NfeGZlciwgVUJU
X05fVFJBTlNGRVIpOwogCkBAIC04NDMsMzUgKzg0NCw2IEBACiB9IC8qIHVidF9pbnRyX3JlYWRf
Y2FsbGJhY2sgKi8KIAogLyoKLSAqIENhbGxlZCB3aGVuIG91dGdvaW5nIGNvbnRyb2wgdHJhbnNm
ZXIgaW5pdGlhdGVkIHRvIGNsZWFyIHN0YWxsIG9uCi0gKiBpbnRlcnJ1cHQgcGlwZSBoYXMgY29t
cGxldGVkLgotICogVVNCIGNvbnRleHQuCi0gKi8KLQotc3RhdGljIHZvaWQKLXVidF9pbnRyX3Jl
YWRfY2xlYXJfc3RhbGxfY2FsbGJhY2soc3RydWN0IHVzYjJfeGZlciAqeGZlcikKLXsKLQlub2Rl
X3AJCQlub2RlID0geGZlci0+cHJpdl9zYzsKLQlzdHJ1Y3QgdWJ0X3NvZnRjCSpzYzsKLQlzdHJ1
Y3QgdXNiMl94ZmVyCSp4ZmVyX290aGVyOwotCi0JaWYgKE5HX05PREVfTk9UX1ZBTElEKG5vZGUp
KSB7Ci0JCU5HX05PREVfVU5SRUYobm9kZSk7Ci0JCXJldHVybjsgLyogbmV0Z3JhcGggbm9kZSBp
cyBnb25lICovCi0JfQotCi0Jc2MgPSBOR19OT0RFX1BSSVZBVEUobm9kZSk7Ci0JeGZlcl9vdGhl
ciA9IHNjLT5zY194ZmVyW1VCVF9JRl8wX0lOVFJfRFRfUkRdOwotCi0JaWYgKHVzYjJfY2xlYXJf
c3RhbGxfY2FsbGJhY2soeGZlciwgeGZlcl9vdGhlcikpIHsKLQkJRFBSSU5URigic3RhbGwgY2xl
YXJlZFxuIik7Ci0JCXNjLT5zY19mbGFncyAmPSB+VUJUX0ZMQUdfSU5UUl9TVEFMTDsKLQkJdXNi
Ml90cmFuc2Zlcl9zdGFydCh4ZmVyX290aGVyKTsKLQl9IGVsc2UKLQkJTkdfTk9ERV9VTlJFRihu
b2RlKTsgLyogY2FudCBjbGVhciBzdGFsbCAqLwotfSAvKiB1YnRfaW50cl9yZWFkX2NsZWFyX3N0
YWxsX2NhbGxiYWNrICovCi0KLS8qCiAgKiBDYWxsZWQgd2hlbiBpbmNvbWluZyBidWxrIHRyYW5z
ZmVyIChBQ0wgcGFja2V0KSBoYXMgY29tcGxldGVkLCBpLmUuCiAgKiBBQ0wgcGFja2V0IHdhcyBy
ZWNlaXZlZCBmcm9tIHRoZSBkZXZpY2UuCiAgKiBVU0IgY29udGV4dC4KQEAgLTk5MCwzNSArOTYy
LDYgQEAKIH0gLyogdWJ0X2J1bGtfcmVhZF9jYWxsYmFjayAqLwogCiAvKgotICogQ2FsbGVkIHdo
ZW4gb3V0Z29pbmcgY29udHJvbCB0cmFuc2ZlciBpbml0aWF0ZWQgdG8gY2xlYXIgc3RhbGwgb24K
LSAqIGluY29taW5nIGJ1bGsgcGlwZSBoYXMgY29tcGxldGVkLgotICogVVNCIGNvbnRleHQuCi0g
Ki8KLQotc3RhdGljIHZvaWQKLXVidF9idWxrX3JlYWRfY2xlYXJfc3RhbGxfY2FsbGJhY2soc3Ry
dWN0IHVzYjJfeGZlciAqeGZlcikKLXsKLQlub2RlX3AJCQlub2RlID0geGZlci0+cHJpdl9zYzsK
LQlzdHJ1Y3QgdWJ0X3NvZnRjCSpzYzsKLQlzdHJ1Y3QgdXNiMl94ZmVyCSp4ZmVyX290aGVyOwot
Ci0JaWYgKE5HX05PREVfTk9UX1ZBTElEKG5vZGUpKSB7Ci0JCU5HX05PREVfVU5SRUYobm9kZSk7
Ci0JCXJldHVybjsgLyogbmV0Z3JhcGggbm9kZSBpcyBnb25lICovCi0JfQotCi0Jc2MgPSBOR19O
T0RFX1BSSVZBVEUobm9kZSk7Ci0JeGZlcl9vdGhlciA9IHNjLT5zY194ZmVyW1VCVF9JRl8wX0JV
TEtfRFRfUkRdOwotCi0JaWYgKHVzYjJfY2xlYXJfc3RhbGxfY2FsbGJhY2soeGZlciwgeGZlcl9v
dGhlcikpIHsKLQkJRFBSSU5URigic3RhbGwgY2xlYXJlZFxuIik7Ci0JCXNjLT5zY19mbGFncyAm
PSB+VUJUX0ZMQUdfUkVBRF9TVEFMTDsKLQkJdXNiMl90cmFuc2Zlcl9zdGFydCh4ZmVyX290aGVy
KTsKLQl9IGVsc2UKLQkJTkdfTk9ERV9VTlJFRihub2RlKTsgLyogY2FudCBjbGVhciBzdGFsbCAq
LwotfSAvKiB1YnRfYnVsa19yZWFkX2NsZWFyX3N0YWxsX2NhbGxiYWNrICovCi0KLS8qCiAgKiBD
YWxsZWQgd2hlbiBvdXRnb2luZyBidWxrIHRyYW5zZmVyIChBQ0wgcGFja2V0KSBoYXMgY29tcGxl
dGVkLCBpLmUuCiAgKiBBQ0wgcGFja2V0IHdhcyBzZW50IHRvIHRoZSBkZXZpY2UuCiAgKiBVU0Ig
Y29udGV4dC4KQEAgLTEwOTYsMzUgKzEwMzksNiBAQAogfSAvKiB1YnRfYnVsa193cml0ZV9jYWxs
YmFjayAqLwogCiAvKgotICogQ2FsbGVkIHdoZW4gb3V0Z29pbmcgY29udHJvbCB0cmFuc2ZlciBp
bml0aWF0ZWQgdG8gY2xlYXIgc3RhbGwgb24KLSAqIG91dGdvaW5nIGJ1bGsgcGlwZSBoYXMgY29t
cGxldGVkLgotICogVVNCIGNvbnRleHQuCi0gKi8KLQotc3RhdGljIHZvaWQKLXVidF9idWxrX3dy
aXRlX2NsZWFyX3N0YWxsX2NhbGxiYWNrKHN0cnVjdCB1c2IyX3hmZXIgKnhmZXIpCi17Ci0Jbm9k
ZV9wCQkJbm9kZSA9IHhmZXItPnByaXZfc2M7Ci0Jc3RydWN0IHVidF9zb2Z0Ywkqc2M7Ci0Jc3Ry
dWN0IHVzYjJfeGZlcgkqeGZlcl9vdGhlcjsKLQotCWlmIChOR19OT0RFX05PVF9WQUxJRChub2Rl
KSkgewotCQlOR19OT0RFX1VOUkVGKG5vZGUpOwotCQlyZXR1cm47IC8qIG5ldGdyYXBoIG5vZGUg
aXMgZ29uZSAqLwotCX0KLQotCXNjID0gTkdfTk9ERV9QUklWQVRFKG5vZGUpOwotCXhmZXJfb3Ro
ZXIgPSBzYy0+c2NfeGZlcltVQlRfSUZfMF9CVUxLX0RUX1dSXTsKLQotCWlmICh1c2IyX2NsZWFy
X3N0YWxsX2NhbGxiYWNrKHhmZXIsIHhmZXJfb3RoZXIpKSB7Ci0JCURQUklOVEYoInN0YWxsIGNs
ZWFyZWRcbiIpOwotCQlzYy0+c2NfZmxhZ3MgJj0gflVCVF9GTEFHX1dSSVRFX1NUQUxMOwotCQl1
c2IyX3RyYW5zZmVyX3N0YXJ0KHhmZXJfb3RoZXIpOwotCX0gZWxzZQotCQlOR19OT0RFX1VOUkVG
KG5vZGUpOyAvKiBjYW50IGNsZWFyIHN0YWxsICovCi19IC8qIHVidF9idWxrX3dyaXRlX2NsZWFy
X3N0YWxsX2NhbGxiYWNrICovCi0KLS8qCiAgKiBDYWxsZWQgd2hlbiBpbmNvbWluZyBpc29jIHRy
YW5zZmVyIChTQ08gcGFja2V0KSBoYXMgY29tcGxldGVkLCBpLmUuCiAgKiBTQ08gcGFja2V0IHdh
cyByZWNlaXZlZCBmcm9tIHRoZSBkZXZpY2UuCiAgKiBVU0IgY29udGV4dC4KQEAgLTEzNjEsNiAr
MTI3NSw4MCBAQAogCX0KIH0KIAorLyoKKyAqIENhbGxlZCB3aGVuIGFuIG91dGdvaW5nIGNvbnRy
b2wgdHJhbnNmZXIgdG8gY2xlYXIgc3RhbGwgb24gYW5vdGhlcgorICogcGlwZSBoYXMgYmVlbiBj
b21wbGV0ZWQuIEdlbmVyaWMgZm9yIGFsbCBjbGVhciBzdGFsbCB0cmFuc2ZlcnMuCisgKiBVU0Ig
Y29udGV4dC4KKyAqLworCitzdGF0aWMgdm9pZAordWJ0X2NsZWFyX3N0YWxsX2NhbGxiYWNrKHN0
cnVjdCB1c2IyX3hmZXIgKnhmZXIpCit7CisJbm9kZV9wCQkJbm9kZSA9IHhmZXItPnByaXZfc2M7
CisJc3RydWN0IHVidF9zb2Z0Ywkqc2M7CisJc3RydWN0IHVzYjJfeGZlcgkqeGZlcl9vdGhlcjsK
KwlpbnQJCQlmbGFnOworCisJaWYgKE5HX05PREVfTk9UX1ZBTElEKG5vZGUpKSB7CisJCU5HX05P
REVfVU5SRUYobm9kZSk7CisJCXJldHVybjsgLyogbmV0Z3JhcGggbm9kZSBpcyBnb25lICovCisJ
fQorCisJc2MgPSBOR19OT0RFX1BSSVZBVEUobm9kZSk7CisKKwkvKgorCSAqIEZpZ3VyZSBvdXQg
d2hpY2ggY2xlYXIgc3RhbGwgdHJhbnNmZXIgaGFzIGNvbXBsZXRlZAorCSAqIGFuZCBzZXQgeGZl
cl9vdGhlciBhbmQgZmxhZyBhY2NvcmRpbmdseQorCSAqLworCisJaWYgKHhmZXIgPT0gc2MtPnNj
X3hmZXJbVUJUX0lGXzBfQlVMS19DU19XUl0pIHsKKwkJeGZlcl9vdGhlciA9IHNjLT5zY194ZmVy
W1VCVF9JRl8wX0JVTEtfRFRfV1JdOworCQlmbGFnID0gVUJUX0ZMQUdfV1JJVEVfU1RBTEw7CisJ
fSBlbHNlIGlmICh4ZmVyID09IHNjLT5zY194ZmVyW1VCVF9JRl8wX0JVTEtfQ1NfUkRdKSB7CisJ
CXhmZXJfb3RoZXIgPSBzYy0+c2NfeGZlcltVQlRfSUZfMF9CVUxLX0RUX1JEXTsKKwkJZmxhZyA9
IFVCVF9GTEFHX1JFQURfU1RBTEw7CisJfSBlbHNlIGlmICh4ZmVyID09IHNjLT5zY194ZmVyW1VC
VF9JRl8wX0lOVFJfQ1NfUkRdKSB7CisJCXhmZXJfb3RoZXIgPSBzYy0+c2NfeGZlcltVQlRfSUZf
MF9JTlRSX0RUX1JEXTsKKwkJZmxhZyA9IFVCVF9GTEFHX0lOVFJfU1RBTEw7CisJfSBlbHNlCisJ
CXBhbmljKCJjb3VsZCBub3Qgc2V0IHhmZXJfb3RoZXIhIHhmZXI9JXBcbiIsIHhmZXIpOworCisJ
aWYgKHhmZXJfb3RoZXIgPT0gTlVMTCkgeworCQlVQlRfV0FSTihzYywgIm90aGVyIHRyYW5zZmVy
IGlzIGdvbmUuIGFyZSB3ZSBkeWluZz8hXG4iKTsKKwkJTkdfTk9ERV9VTlJFRihub2RlKTsKKwkJ
cmV0dXJuOyAvKiBvdGhlciB0cmFuc2ZlciBpcyBnb25lLiBhcmUgd2UgZHlpbmc/ISAqLworCX0K
KworCXN3aXRjaCAoVVNCX0dFVF9TVEFURSh4ZmVyKSkgeworCWNhc2UgVVNCX1NUX1NFVFVQOgor
CQkvKgorCQkgKiBJZ25vcmUgcmV0dXJuIHZhbHVlIGZyb20gdXNiMl9jbGVhcl9zdGFsbF9jYWxs
YmFjaygpCisJCSAqIGFzIGl0IGFwcGVhcnMgaXQgY2FuIG5vdCByZXR1cm4gYW55dGhpbmcgb3Ro
ZXIgdGhhbgorCQkgKiB6ZXJvIGluIFVTQl9TVF9TRVRVUCBjYXNlCisJCSAqLworCQkodm9pZCkg
dXNiMl9jbGVhcl9zdGFsbF9jYWxsYmFjayh4ZmVyLCB4ZmVyX290aGVyKTsKKwkJYnJlYWs7CisK
KwljYXNlIFVTQl9TVF9UUkFOU0ZFUlJFRDoKKwkJVUJUX0lORk8oc2MsICJzdGFsbCBjbGVhcmVk
LCBmbGFnPSUjeFxuIiwgZmxhZyk7CitzdWJtaXRfb3RoZXI6CisJCXNjLT5zY19mbGFncyAmPSB+
ZmxhZzsKKwkJdXNiMl90cmFuc2Zlcl9zdGFydCh4ZmVyX290aGVyKTsKKwkJYnJlYWs7CisKKwlk
ZWZhdWx0OgorCQlpZiAoeGZlci0+ZXJyb3IgIT0gVVNCX0VSUl9DQU5DRUxMRUQpIHsKKwkJCVVC
VF9XQVJOKHNjLCAiY2xlYXIgc3RhbGwgdHJhbnNmZXIgZmFpbGVkOiAlcywgIiBcCisJCQkJImZs
YWc9JSN4XG4iLCB1c2IyX2VycnN0cih4ZmVyLT5lcnJvciksIGZsYWcpOworCQkJZ290byBzdWJt
aXRfb3RoZXI7CisJCQkvKiBOT1QgUkVBQ0hFRCAqLworCQl9CisKKwkJTkdfTk9ERV9VTlJFRihu
b2RlKTsgLyogY2FuY2VsbGVkICovCisJCWJyZWFrOworCX0KK30gLyogdWJ0X2NsZWFyX3N0YWxs
X2NhbGxiYWNrICovCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgogICoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2x1ZSAK
--000e0cd14d34ee6a0204612b3091--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bb4a86c70901231113v2b72423cg7aadbb7348d9bafe>