sound driver locking patches

Frank Davis (fdavis@andrew.cmu.edu)
Tue, 12 Jun 2001 19:22:10 -0400 (EDT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-851401618-992388130=:17621
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hello all,
I have attached sound driver locking patches for:
drivers/sound/cs4281/cs4281m.c
drivers/sound/i810_audio.c

The patches are against 2.4.5-ac13, and address the sound driver locking
issue mentioned in the -ac series.

Please review. Thanks.
Regards,
Frank

---559023410-851401618-992388130=:17621
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=CS4281M_
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.4.21L.0106121922100.17621@unix7.andrew.cmu.edu>
Content-Description:
Content-Disposition: attachment; filename=CS4281M_

LS0tIGRyaXZlcnMvc291bmQvY3M0MjgxL2NzNDI4MW0uYy5vbGQJTW9uIEp1
biAxMSAwMDoyMzowMiAyMDAxDQ0KKysrIGRyaXZlcnMvc291bmQvY3M0Mjgx
L2NzNDI4MW0uYwlUdWUgSnVuIDEyIDAxOjE3OjE0IDIwMDENDQpAQCAtMjkz
LDYgKzI5Myw3IEBADQ0KIA0NCiAJc3RydWN0IGNzNDI4MV9wbSBwbTsNDQog
CXN0cnVjdCBjczQyODFfcGlwZWxpbmUgcGxbQ1M0MjgxX05VTUJFUl9PRl9Q
SVBFTElORVNdOw0NCisJc3RydWN0IHNlbWFwaG9yZSBzZW07DQ0KIH07DQ0K
IA0NCiAjaW5jbHVkZSAiY3M0MjgxcG0tMjQuYyINDQpAQCAtMjg3Niw3ICsy
ODc3LDcgQEANDQogew0NCiAJc3RydWN0IGNzNDI4MV9zdGF0ZSAqcyA9DQ0K
IAkgICAgKHN0cnVjdCBjczQyODFfc3RhdGUgKikgZmlsZS0+cHJpdmF0ZV9k
YXRhOw0NCi0Jc3NpemVfdCByZXQ7DQ0KKwlzc2l6ZV90IHJldCA9IDA7DQ0K
IAl1bnNpZ25lZCBsb25nIGZsYWdzOw0NCiAJdW5zaWduZWQgc3dwdHI7DQ0K
IAlpbnQgY250Ow0NCkBAIC0yODkwLDExICsyODkxLDEyIEBADQ0KIAkJcmV0
dXJuIC1FU1BJUEU7DQ0KIAlpZiAocy0+ZG1hX2FkYy5tYXBwZWQpDQ0KIAkJ
cmV0dXJuIC1FTlhJTzsNDQotCWlmICghcy0+ZG1hX2FkYy5yZWFkeSAmJiAo
cmV0ID0gcHJvZ19kbWFidWZfYWRjKHMpKSkNDQotCQlyZXR1cm4gcmV0Ow0N
CiAJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCBidWZmZXIsIGNvdW50
KSkNDQogCQlyZXR1cm4gLUVGQVVMVDsNDQotCXJldCA9IDA7DQ0KKw0NCisJ
ZG93bigmcy0+c2VtKTsNDQorCWlmICghcy0+ZG1hX2FkYy5yZWFkeSAmJiAo
cmV0ID0gcHJvZ19kbWFidWZfYWRjKHMpKSkNDQorCQlnb3RvIG91dDsNDQog
Ly8NDQogLy8gImNvdW50IiBpcyB0aGUgYW1vdW50IG9mIGJ5dGVzIHRvIHJl
YWQgKGZyb20gYXBwKSwgaXMgZGVjcmVtZW50ZWQgZWFjaCBsb29wDQ0KIC8v
ICAgICAgYnkgdGhlIGFtb3VudCBvZiBieXRlcyB0aGF0IGhhdmUgYmVlbiBy
ZXR1cm5lZCB0byB0aGUgdXNlciBidWZmZXIuDQ0KQEAgLTI5NTAsMTAgKzI5
NTIsMjMgQEANDQogCQkJLy8gdGhlIGxvb3Agd2hlbiB3YWtlIHVwIG9jY3Vy
cy4NDQogCQkJc3RhcnRfYWRjKHMpOw0NCiAJCQlpZiAoZmlsZS0+Zl9mbGFn
cyAmIE9fTk9OQkxPQ0spDQ0KLQkJCQlyZXR1cm4gcmV0ID8gcmV0IDogLUVB
R0FJTjsNDQorCQkJew0NCisJCQkJaWYoIXJldCkgcmV0ID0gLUVBR0FJTjsN
DQorCQkJCWdvdG8gb3V0Ow0NCisJCQl9DQ0KKwkJCXVwKCZzLT5zZW0pOw0N
CiAJCQlpbnRlcnJ1cHRpYmxlX3NsZWVwX29uKCZzLT5kbWFfYWRjLndhaXQp
Ow0NCiAJCQlpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpDQ0KLQkJCQly
ZXR1cm4gcmV0ID8gcmV0IDogLUVSRVNUQVJUU1lTOw0NCisJCQl7DQ0KKwkJ
CQlpZighcmV0KSByZXQgPSAtRVJFU1RBUlRTWVM7DQ0KKwkJCQlnb3RvIG91
dDsNDQorCQkJfQ0NCisJCQlkb3duKCZzLT5zZW0pOw0NCisJCQlpZiAocy0+
ZG1hX2FkYy5tYXBwZWQpDQ0KKwkJCXsNDQorCQkJCXJldCA9IC1FTlhJTzsN
DQorCQkJCWdvdG8gb3V0Ow0NCisJCQl9DQ0KIAkJCWNvbnRpbnVlOw0NCiAJ
CX0NDQogCQkvLyB0aGVyZSBhcmUgYnl0ZXMgaW4gdGhlIGJ1ZmZlciB0byBy
ZWFkLg0NCkBAIC0yOTcxLDcgKzI5ODYsMTAgQEANDQogDQ0KIAkJaWYgKGNz
X2NvcHlfdG9fdXNlcg0NCiAJCSAgICAocywgYnVmZmVyLCBzLT5kbWFfYWRj
LnJhd2J1ZiArIHN3cHRyLCBjbnQsICZjb3BpZWQpKQ0NCi0JCQlyZXR1cm4g
cmV0ID8gcmV0IDogLUVGQVVMVDsNDQorCQkJew0NCisJCQlpZighcmV0KSBy
ZXQgPSAtRUZBVUxUOw0NCisJCQlnb3RvIG91dDsNDQorCQkJfQ0NCiAJCXN3
cHRyID0gKHN3cHRyICsgY250KSAlIHMtPmRtYV9hZGMuZG1hc2l6ZTsNDQog
CQlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOw0NCiAJCXMt
PmRtYV9hZGMuc3dwdHIgPSBzd3B0cjsNDQpAQCAtMjk4NCw2ICszMDAyLDgg
QEANDQogCX0NDQogCUNTX0RCR09VVChDU19GVU5DVElPTiB8IENTX1dBVkVf
UkVBRCwgMiwNDQogCQkgIHByaW50ayhLRVJOX0lORk8gImNzNDI4MTogY3M0
MjgxX3JlYWQoKS0gJWRcbiIsIHJldCkpOw0NCitvdXQ6DQ0KKwl1cCgmcy0+
c2VtKTsNDQogCXJldHVybiByZXQ7DQ0KIH0NDQogDQ0KQEAgLTMwMDcsMTAg
KzMwMjcsMTIgQEANDQogCQlyZXR1cm4gLUVTUElQRTsNDQogCWlmIChzLT5k
bWFfZGFjLm1hcHBlZCkNDQogCQlyZXR1cm4gLUVOWElPOw0NCi0JaWYgKCFz
LT5kbWFfZGFjLnJlYWR5ICYmIChyZXQgPSBwcm9nX2RtYWJ1Zl9kYWMocykp
KQ0NCi0JCXJldHVybiByZXQ7DQ0KIAlpZiAoIWFjY2Vzc19vayhWRVJJRllf
UkVBRCwgYnVmZmVyLCBjb3VudCkpDQ0KIAkJcmV0dXJuIC1FRkFVTFQ7DQ0K
Kwlkb3duKCZzLT5zZW0pOw0NCisJaWYgKCFzLT5kbWFfZGFjLnJlYWR5ICYm
IChyZXQgPSBwcm9nX2RtYWJ1Zl9kYWMocykpKQ0NCisJCWdvdG8gb3V0Ow0N
CisNDQogCXJldCA9IDA7DQ0KIAl3aGlsZSAoY291bnQgPiAwKSB7DQ0KIAkJ
c3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIGZsYWdzKTsNDQpAQCAtMzAz
NSwxNCArMzA1NywzMCBAQA0NCiAJCWlmIChjbnQgPD0gMCkgew0NCiAJCQlz
dGFydF9kYWMocyk7DQ0KIAkJCWlmIChmaWxlLT5mX2ZsYWdzICYgT19OT05C
TE9DSykNDQotCQkJCXJldHVybiByZXQgPyByZXQgOiAtRUFHQUlOOw0NCisJ
CQl7DQ0KKwkJCQlpZighcmV0KSByZXQgPSAtRUFHQUlOOw0NCisJCQkJZ290
byBvdXQ7DQ0KKwkJCX0NDQorCQkJdXAoJnMtPnNlbSk7DQ0KIAkJCWludGVy
cnVwdGlibGVfc2xlZXBfb24oJnMtPmRtYV9kYWMud2FpdCk7DQ0KIAkJCWlm
IChzaWduYWxfcGVuZGluZyhjdXJyZW50KSkNDQotCQkJCXJldHVybiByZXQg
PyByZXQgOiAtRVJFU1RBUlRTWVM7DQ0KKwkJCXsNDQorCQkJCWlmKCFyZXQp
IHJldCA9IC1FUkVTVEFSVFNZUzsNDQorCQkJCWdvdG8gb3V0Ow0NCisJCQl9
DQ0KKwkJCWRvd24oJnMtPnNlbSk7DQ0KKwkJCWlmIChzLT5kbWFfZGFjLm1h
cHBlZCkNDQorCQkJew0NCisJCQkJcmV0ID0gLUVOWElPOw0NCisJCQkJZ290
byBvdXQ7DQ0KKwkJCX0NDQogCQkJY29udGludWU7DQ0KIAkJfQ0NCiAJCWlm
IChjb3B5X2Zyb21fdXNlcihzLT5kbWFfZGFjLnJhd2J1ZiArIHN3cHRyLCBi
dWZmZXIsIGNudCkpDQ0KLQkJCXJldHVybiByZXQgPyByZXQgOiAtRUZBVUxU
Ow0NCisJCXsNDQorCQkJaWYoIXJldCkgcmV0ID0gLUVGQVVMVDsNDQorCQkJ
Z290byBvdXQ7DQ0KKwkJfQ0NCiAJCXN3cHRyID0gKHN3cHRyICsgY250KSAl
IHMtPmRtYV9kYWMuZG1hc2l6ZTsNDQogCQlzcGluX2xvY2tfaXJxc2F2ZSgm
cy0+bG9jaywgZmxhZ3MpOw0NCiAJCXMtPmRtYV9kYWMuc3dwdHIgPSBzd3B0
cjsNDQpAQCAtMzA1Niw2ICszMDk0LDggQEANDQogCX0NDQogCUNTX0RCR09V
VChDU19GVU5DVElPTiB8IENTX1dBVkVfV1JJVEUsIDIsDQ0KIAkJICBwcmlu
dGsoS0VSTl9JTkZPICJjczQyODE6IGNzNDI4MV93cml0ZSgpLSAlZFxuIiwg
cmV0KSk7DQ0KK291dDoNDQorCXVwKCZzLT5zZW0pOw0NCiAJcmV0dXJuIHJl
dDsNDQogfQ0NCiANDQpAQCAtMzEzMiwzNSArMzE3Miw0OSBAQA0NCiAJCSAg
cHJpbnRrKEtFUk5fSU5GTyAiY3M0MjgxOiBjczQyODFfbW1hcCgpK1xuIikp
Ow0NCiANDQogCVZBTElEQVRFX1NUQVRFKHMpOw0NCisJZG93bigmcy0+c2Vt
KTsNDQogCWlmICh2bWEtPnZtX2ZsYWdzICYgVk1fV1JJVEUpIHsNDQogCQlp
ZiAoKHJldCA9IHByb2dfZG1hYnVmX2RhYyhzKSkgIT0gMCkNDQotCQkJcmV0
dXJuIHJldDsNDQorCQkJZ290byBvdXQ7DQ0KIAkJZGIgPSAmcy0+ZG1hX2Rh
YzsNDQogCX0gZWxzZSBpZiAodm1hLT52bV9mbGFncyAmIFZNX1JFQUQpIHsN
DQogCQlpZiAoKHJldCA9IHByb2dfZG1hYnVmX2FkYyhzKSkgIT0gMCkNDQot
CQkJcmV0dXJuIHJldDsNDQorCQkJZ290byBvdXQ7DQ0KIAkJZGIgPSAmcy0+
ZG1hX2FkYzsNDQotCX0gZWxzZQ0NCi0JCXJldHVybiAtRUlOVkFMOw0NCisJ
fSBlbHNlIHsNDQorCQlyZXQgPSAtRUlOVkFMOw0NCisJCWdvdG8gb3V0Ow0N
CisJfQ0NCiAvLw0NCiAvLyBvbmx5IHN1cHBvcnQgUExBWUJBQ0sgZm9yIG5v
dw0NCiAvLw0NCiAJZGIgPSAmcy0+ZG1hX2RhYzsNDQogDQ0KIAlpZiAoY3M0
eF9wZ29mZih2bWEpICE9IDApDQ0KLQkJcmV0dXJuIC1FSU5WQUw7DQ0KKwl7
DQ0KKwkJcmV0ID0gLUVJTlZBTDsNDQorCQlnb3RvIG91dDsNDQorCX0NDQog
CXNpemUgPSB2bWEtPnZtX2VuZCAtIHZtYS0+dm1fc3RhcnQ7DQ0KIAlpZiAo
c2l6ZSA+IChQQUdFX1NJWkUgPDwgZGItPmJ1Zm9yZGVyKSkNDQotCQlyZXR1
cm4gLUVJTlZBTDsNDQorCXsNDQorCQlyZXQgPSAtRUlOVkFMOw0NCisJCWdv
dG8gb3V0Ow0NCisJfQ0NCiAJaWYgKHJlbWFwX3BhZ2VfcmFuZ2UNDQogCSAg
ICAodm1hLT52bV9zdGFydCwgdmlydF90b19waHlzKGRiLT5yYXdidWYpLCBz
aXplLA0NCi0JICAgICB2bWEtPnZtX3BhZ2VfcHJvdCkpIHJldHVybiAtRUFH
QUlOOw0NCisJICAgICB2bWEtPnZtX3BhZ2VfcHJvdCkpIA0NCisJCXsgDQ0K
KwkJcmV0ID0gLUVBR0FJTjsNDQorCQlnb3RvIG91dDsNDQorCQl9DQ0KIAlk
Yi0+bWFwcGVkID0gMTsNDQogDQ0KIAlDU19EQkdPVVQoQ1NfRlVOQ1RJT04g
fCBDU19QQVJNUyB8IENTX09QRU4sIDQsDQ0KIAkJICBwcmludGsoS0VSTl9J
TkZPICJjczQyODE6IGNzNDI4MV9tbWFwKCktIDAgc2l6ZT0lZFxuIiwNDQog
CQkJICh1bnNpZ25lZCkgc2l6ZSkpOw0NCi0NDQorb3V0Og0NCisJdXAoJnMt
PnNlbSk7DQ0KIAlyZXR1cm4gMDsNDQogfQ0NCiANDQpAQCAtNDMyMyw2ICs0
Mzc3LDcgQEANDQogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnMtPm1pZGkuaXdh
aXQpOw0NCiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcy0+bWlkaS5vd2FpdCk7
DQ0KIAlpbml0X01VVEVYKCZzLT5vcGVuX3NlbSk7DQ0KKwlpbml0X01VVEVY
KCZzLT5zZW0pOw0NCiAJaW5pdF9NVVRFWCgmcy0+b3Blbl9zZW1fYWRjKTsN
DQogCWluaXRfTVVURVgoJnMtPm9wZW5fc2VtX2RhYyk7DQ0KIAlzcGluX2xv
Y2tfaW5pdCgmcy0+bG9jayk7DQ0K
---559023410-851401618-992388130=:17621
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=I810_AUD
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.4.21L.0106121922101.17621@unix7.andrew.cmu.edu>
Content-Description:
Content-Disposition: attachment; filename=I810_AUD

LS0tIGRyaXZlcnMvc291bmQvaTgxMF9hdWRpby5jLm9sZAlNb24gSnVuIDEx
IDAwOjIzOjA1IDIwMDENCisrKyBkcml2ZXJzL3NvdW5kL2k4MTBfYXVkaW8u
YwlUdWUgSnVuIDEyIDE5OjAzOjUwIDIwMDENCkBAIC0yOTgsNiArMjk4LDcg
QEANCiAJCXVuc2lnbmVkIG9zc21heGZyYWdzOw0KIAkJdW5zaWduZWQgc3Vi
ZGl2aXNpb247DQogCX0gZG1hYnVmOw0KKwlzdHJ1Y3Qgc2VtYXBob3JlIHNl
bTsNCiB9Ow0KIA0KIA0KQEAgLTEwNjYsNyArMTA2Nyw3IEBADQogew0KIAlz
dHJ1Y3QgaTgxMF9zdGF0ZSAqc3RhdGUgPSAoc3RydWN0IGk4MTBfc3RhdGUg
KilmaWxlLT5wcml2YXRlX2RhdGE7DQogCXN0cnVjdCBkbWFidWYgKmRtYWJ1
ZiA9ICZzdGF0ZS0+ZG1hYnVmOw0KLQlzc2l6ZV90IHJldDsNCisJc3NpemVf
dCByZXQgPSAwOw0KIAl1bnNpZ25lZCBsb25nIGZsYWdzOw0KIAl1bnNpZ25l
ZCBpbnQgc3dwdHI7DQogCWludCBjbnQ7DQpAQCAtMTA4OCwxMyArMTA4OSwx
NCBAQA0KIAkJCXJldHVybiAtRUJVU1k7DQogCQl9DQogCX0NCi0JaWYgKCFk
bWFidWYtPnJlYWR5ICYmIChyZXQgPSBwcm9nX2RtYWJ1ZihzdGF0ZSwgMSkp
KQ0KLQkJcmV0dXJuIHJldDsNCiAJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dS
SVRFLCBidWZmZXIsIGNvdW50KSkNCiAJCXJldHVybiAtRUZBVUxUOw0KIAlk
bWFidWYtPnRyaWdnZXIgJj0gflBDTV9FTkFCTEVfT1VUUFVUOw0KLQlyZXQg
PSAwOw0KIA0KKwlkb3duKCZzdGF0ZS0+c2VtKTsNCisJaWYgKCFkbWFidWYt
PnJlYWR5ICYmIChyZXQgPSBwcm9nX2RtYWJ1ZihzdGF0ZSwgMSkpKQ0KKwkJ
Z290byBvdXQ7DQorCQ0KIAl3aGlsZSAoY291bnQgPiAwKSB7DQogCQlzcGlu
X2xvY2tfaXJxc2F2ZSgmc3RhdGUtPmNhcmQtPmxvY2ssIGZsYWdzKTsNCiAJ
CXN3cHRyID0gZG1hYnVmLT5zd3B0cjsNCkBAIC0xMTE5LDggKzExMjEsOSBA
QA0KIAkJCX0NCiAJCQlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fTk9OQkxPQ0sp
IHsNCiAJCQkJaWYgKCFyZXQpIHJldCA9IC1FQUdBSU47DQotCQkJCXJldHVy
biByZXQ7DQorCQkJCWdvdG8gb3V0Ow0KIAkJCX0NCisJCQl1cCgmc3RhdGUt
PnNlbSk7DQogCQkJLyogVGhpcyBpc250IHN0cmljdGx5IHJpZ2h0IGZvciB0
aGUgODEwICBidXQgaXQnbGwgZG8gKi8NCiAJCQl0bW8gPSAoZG1hYnVmLT5k
bWFzaXplICogSFopIC8gKGRtYWJ1Zi0+cmF0ZSAqIDIpOw0KIAkJCXRtbyA+
Pj0gMTsNCkBAIC0xMTQyLDE1ICsxMTQ1LDIxIEBADQogCQkJCSAgIHdoaWxl
IGxvb3AgYmVnaW4gYW5kIHdlIFJFQUxMWSBoYXZlIHNwYWNlIHRvIHJlY29y
ZCAqLw0KIAkJCX0NCiAJCQlpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkp
IHsNCi0JCQkJcmV0ID0gcmV0ID8gcmV0IDogLUVSRVNUQVJUU1lTOw0KLQkJ
CQlyZXR1cm4gcmV0Ow0KKwkJCQlpZighcmV0KSByZXQgPSAtRVJFU1RBUlRT
WVM7DQorCQkJCWdvdG8gb3V0Ow0KKwkJCX0NCisJCQlkb3duKCZzdGF0ZS0+
c2VtKTsNCisJCQlpZiAoZG1hYnVmLT5tYXBwZWQpDQorCQkJew0KKwkJCQly
ZXQgPSAtRU5YSU87DQorCQkJCWdvdG8gb3V0Ow0KIAkJCX0NCiAJCQljb250
aW51ZTsNCiAJCX0NCiANCiAJCWlmIChjb3B5X3RvX3VzZXIoYnVmZmVyLCBk
bWFidWYtPnJhd2J1ZiArIHN3cHRyLCBjbnQpKSB7DQogCQkJaWYgKCFyZXQp
IHJldCA9IC1FRkFVTFQ7DQotCQkJcmV0dXJuIHJldDsNCisJCQlnb3RvIG91
dDsNCiAJCX0NCiANCiAJCXN3cHRyID0gKHN3cHRyICsgY250KSAlIGRtYWJ1
Zi0+ZG1hc2l6ZTsNCkBAIC0xMTY0LDYgKzExNzMsOCBAQA0KIAkJYnVmZmVy
ICs9IGNudDsNCiAJCXJldCArPSBjbnQ7DQogCX0NCitvdXQ6DQorCXVwKCZz
dGF0ZS0+c2VtKTsNCiAJaTgxMF91cGRhdGVfbHZpKHN0YXRlLDEpOw0KIAlz
dGFydF9hZGMoc3RhdGUpOw0KIAlyZXR1cm4gcmV0Ow0KQEAgLTExOTYsMTEg
KzEyMDcsMTIgQEANCiAJCWlmKCFkbWFidWYtPndyaXRlX2NoYW5uZWwpDQog
CQkJcmV0dXJuIC1FQlVTWTsNCiAJfQ0KLQlpZiAoIWRtYWJ1Zi0+cmVhZHkg
JiYgKHJldCA9IHByb2dfZG1hYnVmKHN0YXRlLCAwKSkpDQotCQlyZXR1cm4g
cmV0Ow0KIAlpZiAoIWFjY2Vzc19vayhWRVJJRllfUkVBRCwgYnVmZmVyLCBj
b3VudCkpDQogCQlyZXR1cm4gLUVGQVVMVDsNCiAJZG1hYnVmLT50cmlnZ2Vy
ICY9IH5QQ01fRU5BQkxFX0lOUFVUOw0KKwlkb3duKCZzdGF0ZS0+c2VtKTsN
CisJaWYgKCFkbWFidWYtPnJlYWR5ICYmIChyZXQgPSBwcm9nX2RtYWJ1Zihz
dGF0ZSwgMCkpKQ0KKwkJZ290byBvdXQ7DQogCXJldCA9IDA7DQogDQogCXdo
aWxlIChjb3VudCA+IDApIHsNCkBAIC0xMjI4LDggKzEyNDAsOSBAQA0KIAkJ
CX0NCiAJCQlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spIHsNCiAJ
CQkJaWYgKCFyZXQpIHJldCA9IC1FQUdBSU47DQotCQkJCXJldHVybiByZXQ7
DQorCQkJCWdvdG8gb3V0Ow0KIAkJCX0NCisJCQl1cCgmc3RhdGUtPnNlbSk7
DQogCQkJLyogTm90IHN0cmljdGx5IGNvcnJlY3QgYnV0IHdvcmtzICovDQog
CQkJdG1vID0gKGRtYWJ1Zi0+ZG1hc2l6ZSAqIEhaKSAvIChkbWFidWYtPnJh
dGUgKiA0KTsNCiAJCQkvKiBUaGVyZSBhcmUgdHdvIHNpdHVhdGlvbnMgd2hl
biBzbGVlcF9vbl90aW1lb3V0IHJldHVybnMsIG9uZSBpcyB3aGVuDQpAQCAt
MTI1MiwxMyArMTI2NSwxOSBAQA0KIAkJCX0NCiAJCQlpZiAoc2lnbmFsX3Bl
bmRpbmcoY3VycmVudCkpIHsNCiAJCQkJaWYgKCFyZXQpIHJldCA9IC1FUkVT
VEFSVFNZUzsNCi0JCQkJcmV0dXJuIHJldDsNCisJCQkJZ290byBvdXQ7DQog
CQkJfQ0KIAkJCWNvbnRpbnVlOw0KIAkJfQ0KKwkJZG93bigmc3RhdGUtPnNl
bSk7DQorCQlpZiAoZG1hYnVmLT5tYXBwZWQpDQorCQl7DQorCQkJcmV0ID0g
LUVOWElPOw0KKwkJCWdvdG8gb3V0Ow0KKwkJfQ0KIAkJaWYgKGNvcHlfZnJv
bV91c2VyKGRtYWJ1Zi0+cmF3YnVmK3N3cHRyLGJ1ZmZlcixjbnQpKSB7DQog
CQkJaWYgKCFyZXQpIHJldCA9IC1FRkFVTFQ7DQotCQkJcmV0dXJuIHJldDsN
CisJCQlnb3RvIG91dDsNCiAJCX0NCiANCiAJCXN3cHRyID0gKHN3cHRyICsg
Y250KSAlIGRtYWJ1Zi0+ZG1hc2l6ZTsNCkBAIC0xMjc3LDYgKzEyOTYsOCBA
QA0KIAkJaWYoKHggKyBkbWFidWYtPmNvdW50KSA8IGRtYWJ1Zi0+ZG1hc2l6
ZSkNCiAJCQltZW1zZXQoZG1hYnVmLT5yYXdidWYgKyBzd3B0ciwgJ1wwJywg
eCk7DQogCX0NCitvdXQ6DQorCXVwKCZzdGF0ZS0+c2VtKTsNCiAJaTgxMF91
cGRhdGVfbHZpKHN0YXRlLDApOw0KIAlpZiAoIWRtYWJ1Zi0+ZW5hYmxlICYm
IGRtYWJ1Zi0+Y291bnQgPj0gZG1hYnVmLT51c2VyZnJhZ3NpemUpDQogCQlz
dGFydF9kYWMoc3RhdGUpOw0KQEAgLTEzMjMsNiArMTM0NCw3IEBADQogCXVu
c2lnbmVkIGxvbmcgc2l6ZTsNCiANCiAJbG9ja19rZXJuZWwoKTsNCisJZG93
bigmc3RhdGUtPnNlbSk7DQogCWlmICh2bWEtPnZtX2ZsYWdzICYgVk1fV1JJ
VEUpIHsNCiAJCWlmICghZG1hYnVmLT53cml0ZV9jaGFubmVsICYmDQogCQkg
ICAgKGRtYWJ1Zi0+d3JpdGVfY2hhbm5lbCA9DQpAQCAtMTM2Miw2ICsxMzg0
LDcgQEANCiAJcHJpbnRrKCJpODEwX2F1ZGlvOiBtbWFwJ2VkICVsZCBieXRl
cyBvZiBkYXRhIHNwYWNlXG4iLCBzaXplKTsNCiAjZW5kaWYNCiBvdXQ6DQor
CXVwKCZzdGF0ZS0+c2VtKTsNCiAJdW5sb2NrX2tlcm5lbCgpOw0KIAlyZXR1
cm4gcmV0Ow0KIH0NCkBAIC0xNzg0LDYgKzE4MDcsNyBAQA0KIAlzdGF0ZS0+
bWFnaWMgPSBJODEwX1NUQVRFX01BR0lDOw0KIAlpbml0X3dhaXRxdWV1ZV9o
ZWFkKCZkbWFidWYtPndhaXQpOw0KIAlpbml0X01VVEVYKCZzdGF0ZS0+b3Bl
bl9zZW0pOw0KKwlpbml0X01VVEVYKCZzdGF0ZS0+c2VtKTsNCiAJZmlsZS0+
cHJpdmF0ZV9kYXRhID0gc3RhdGU7DQogCWRtYWJ1Zi0+dHJpZ2dlciA9IDA7
DQogDQo=
---559023410-851401618-992388130=:17621--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/