Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jan 2011 15:51:42 -0500
From:      Andrew Gallatin <gallatin@gmail.com>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-multimedia@freebsd.org
Subject:   Re: em28xx?
Message-ID:  <AANLkTim8rAEsmonUvQoQ%2Bt4=K4OqGJ74G7HZW-9onn4Q@mail.gmail.com>
In-Reply-To: <AANLkTikkBcP-CmqSgJpQP4t7Dz4iUR_UkOJogtE-Q=yi@mail.gmail.com>
References:  <AANLkTimhh9qt1mwMk0NJ0_XP2W14azixpKD=fZYYpOpi@mail.gmail.com> <AANLkTimOtABnMgkNn9jAiThWmZ9Ec3pNQ%2Bq_GR_1Ae4h@mail.gmail.com> <201101082130.05180.hselasky@c2i.net> <AANLkTikkBcP-CmqSgJpQP4t7Dz4iUR_UkOJogtE-Q=yi@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--0016e6509cb8ccd5a304997004fb
Content-Type: text/plain; charset=ISO-8859-1

Ahah!  Apparently linux mutexes are recursive!   The driver holds
dev->mutex and tries to lock it again.
If I comment out the outer level of taking/releasing the mutex
(attached) then the driver fully
attaches.  I guess a better patch would be to make the mutexes in your
shim layer recursive
as well.  At any rate, I now see:


em28xx: New device @ 480 Mbps (1b80:a340, interface 0, class 0)
em28xx #0: chip ID is em2870
em28xx #0: i2c eeprom 00: 1a eb 67 95 80 1b 40 a3 c0 13 6b 10 6a 22 00 00
em28xx #0: i2c eeprom 10: 00 00 04 57 00 0d 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 20: 44 00 00 00 f0 10 01 00 00 00 00 00 5b 1c c0 00
em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00
em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 37 00 30 00 20 00 44 00
em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x2888a312
em28xx #0: EEPROM info:
em28xx #0:      No audio on board.
em28xx #0:      500mA max power
em28xx #0:      Table at 0x04, strings=0x226a, 0x0000, 0x0000
em28xx #0: Identified as KWorld PlusTV 340U or UB435-Q (ATSC) (card=76)
em28xx #0: v4l2 driver version 0.1.2
em28xx #0: V4L2 video device registered as video0
tda18271 129-0060: creating new instance
TDA18271HD/C1 detected @ 129-0060
DVB: registering new adapter (em28xx #0)
DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3304 VSB/QAM
Frontend)...
em28xx #0: Successfully loaded em28xx-dvb
Creating /dev/video0
Creating /dev/dvb/adapter0/demux0
Creating /dev/dvb/adapter0/dvr0
Creating /dev/dvb/adapter0/frontend0

Hurray!!

Drew

--0016e6509cb8ccd5a304997004fb
Content-Type: text/x-patch; charset=US-ASCII; name="recursion.diff"
Content-Disposition: attachment; filename="recursion.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_giqf3wkb0

LS0tIC91c3IvcG9ydHMvbXVsdGltZWRpYS93ZWJjYW1kL3dvcmsvd2ViY2FtZC0wLjEuMTgvdjRs
LWR2Yi9saW51eC9kcml2ZXJzL21lZGlhL3ZpZGVvL2VtMjh4eC9lbTI4eHgtY2FyZHMuYwkyMDEw
LTA3LTAxIDIzOjM4OjU0LjAwMDAwMDAwMCAtMDQwMAorKysgdjRsLWR2Yi9saW51eC9kcml2ZXJz
L21lZGlhL3ZpZGVvL2VtMjh4eC9lbTI4eHgtY2FyZHMuYwkyMDExLTAxLTA5IDE1OjQ4OjQ1LjY1
Nzg1MTQ5MCAtMDUwMApAQCAtMzE2NCw3ICszMTY0LDcgQEAgc3RhdGljIGludCBlbTI4eHhfdXNi
X3Byb2JlKHN0cnVjdCB1c2JfaQogCiAJLyogYWxsb2NhdGUgZGV2aWNlIHN0cnVjdCAqLwogCW11
dGV4X2luaXQoJmRldi0+bG9jayk7Ci0JbXV0ZXhfbG9jaygmZGV2LT5sb2NrKTsKKy8vCW11dGV4
X2xvY2soJmRldi0+bG9jayk7CiAJcmV0dmFsID0gZW0yOHh4X2luaXRfZGV2KCZkZXYsIHVkZXYs
IGludGVyZmFjZSwgbnIpOwogCWlmIChyZXR2YWwpIHsKIAkJZW0yOHh4X2RldnVzZWQgJj0gfigx
PDxkZXYtPmRldm5vKTsKQEAgLTMxODEsNyArMzE4MSw3IEBAIHN0YXRpYyBpbnQgZW0yOHh4X3Vz
Yl9wcm9iZShzdHJ1Y3QgdXNiX2kKIAkvKiBTaG91bGQgYmUgdGhlIGxhc3QgdGhpbmcgdG8gZG8s
IHRvIGF2b2lkIG5ld2VyIHVkZXYncyB0bwogCSAgIG9wZW4gdGhlIGRldmljZSBiZWZvcmUgZnVs
bHkgaW5pdGlhbGl6aW5nIGl0CiAJICovCi0JbXV0ZXhfdW5sb2NrKCZkZXYtPmxvY2spOworLy8J
bXV0ZXhfdW5sb2NrKCZkZXYtPmxvY2spOwogCiAJcmV0dXJuIDA7CiAK
--0016e6509cb8ccd5a304997004fb--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTim8rAEsmonUvQoQ%2Bt4=K4OqGJ74G7HZW-9onn4Q>