[pvrusb2] New driver snapshot: pvrusb2-mci-20080210

Mark Goldberg marklgoldberg at gmail.com
Sun Feb 10 22:31:10 CST 2008


Compiling under FC8 Kernel 2.6.23.14-115.fc8, I get these warnings,
leading directory names removed to protect the innocent:

In file included from pvrusb2-mci-20080210/driver/pvrusb2-sysfs-sel.c:39:
pvrusb2-mci-20080210/driver/pvrusb2-sysfs.c: In function 'store_val_norm':
pvrusb2-mci-20080210/driver/pvrusb2-sysfs.c:293: warning: field
precision should have type 'int', but argument 4 has type 'size_t'
pvrusb2-mci-20080210/driver/pvrusb2-sysfs.c: In function 'store_val_custom':
pvrusb2-mci-20080210/driver/pvrusb2-sysfs.c:306: warning: field
precision should have type 'int', but argument 4 has type 'size_t'

It happened on the last snapshot, but with this one, mythtv thinks the
tuner is in use and it won't use it. Going back to the last snapshot
works fine.  This snapshot grabs /dev/video0 instead of /dev/video2
that all the others grabbed. I've got two SAA7134 based card that
should be /dev/video0 and /dev/video1.

It also gives this on initialization:

pvrusb2: Failed to lock USB device ret=-16

Mark


On Feb 10, 2008 8:40 PM, Mike Isely <isely at isely.net> wrote:
>
> A new driver snapshot is available.  The major change here is a thread
> rework involving handling of driver instance context.  Said another way:
> A bunch of race / deadlock situations should be solved.  None of these
> issues were a result of the previous snapshot; these were longstanding
> (but unlikely) corner cases that pretty much nobody has hit.  The thread
> rework is also in preparation for other (perhaps digital mode...)
> changes hopefully still to come.
>
> Change summary:
>
>   (+) Completely rework context handling and initialization.  A new
>       kernel thread is created per-instance to manage overall device
>       state.  Hardware initialization is moved into this thread.
>       Initialization of all interfaces now happens in the context of
>       this thread.  Previously these two steps took place in the
>       context of a work queue item, but that could cause a deadlock if
>       the initialization code itself needed another work queue item to
>       run (e.g. core state change).  The deadlock risk for this is
>       actually zero since no interfaces try this, but there's a new
>       interface coming which might need to operate some driver
>       controls during initialization.  Interface tear-down and
>       notification updates also happen through this new thread.  Also
>       with the use of this new thread, the master context mutex is no
>       longer required during interface initialization, which solves a
>       very very longstanding mutex deadlock race (task 1 grabs mutex A
>       then B while task 2 grabs mutex B then A) during driver
>       initialization.  Nobody I know of has ever actually been
>       directly burned by this, but the kernel's own mutex deadlock
>       detector can find it.  Short summary: New kernel thread has been
>       introduced to manage overall driver instance handling and this
>       solves a number of nagging (though currently benign but later to
>       be malignant) issues.
>
>   (+) Close a potential (but improbable) timer race during driver
>       instance tear-down.  This could have caused a kernel oops,
>       though I've never gotten an actual report of this happening.
>
>   (+) Close a potential (but extremely unlikely) thread race during
>       initialization.
>
>   (+) Increase staging buffer size for code which prints video
>       standard strings.  There's enough possible combinations now that
>       the previous buffer wasn't large enough.  (The buffer printing
>       code tracks available size so this wasn't an overrun problem,
>       just truncated text.)
>
> As usual, the pvrusb2 web site can be found at:
>
>   http://www.isely.net/pvrusb2/pvrusb2.html
>
>   -Mike
>
>
> --
>                         |         Mike Isely          |     PGP fingerprint
>      Spammers Die!!     |                             | 03 54 43 4D 75 E5 CC 92
>                         |   isely @ pobox (dot) com   | 71 16 01 E2 B5 F5 C1 E8
>                         |                             |
> _______________________________________________
> pvrusb2 mailing list
> pvrusb2 at isely.net
> http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
>


More information about the pvrusb2 mailing list