summaryrefslogtreecommitdiff
path: root/v4l_experimental
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2008-10-19 14:26:05 -0500
committerMike Isely <isely@pobox.com>2008-10-19 14:26:05 -0500
commitfb62eda9894fa969ba3b15cce9f32fd74bdc42e7 (patch)
tree7d30343c4e32a488872c27f18270e0176c031e86 /v4l_experimental
parent3beaddc560d35b83ba5793dcbe8c3a49ac58cdc7 (diff)
downloadmediapointer-dvb-s2-fb62eda9894fa969ba3b15cce9f32fd74bdc42e7.tar.gz
mediapointer-dvb-s2-fb62eda9894fa969ba3b15cce9f32fd74bdc42e7.tar.bz2
pvrusb2: Fix deadlock problem
From: Mike Isely <isely@pobox.com> Fix deadlock problem in 2.6.27 caused by new USB core behavior in response to a USB device reset request. With older kernels, the USB device reset was "in line"; the reset simply took place and the driver retained its association with the hardware. However now this reset triggers a disconnect, and worse still the disconnect callback happens in the context of the caller who asked for the device reset. This results in an attempt by the pvrusb2 driver to recursively take a mutex it already has, which deadlocks the driver's worker thread. (Even if the disconnect callback were to happen on a different thread we'd still have problems however - because while the driver should survive and correctly disconnect / reconnect, it will then trigger another device reset during the repeated initialization, which will then cause another disconect, etc, forever.) The fix here is simply to not attempt the device reset (it was of marginal value anyway). Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
Diffstat (limited to 'v4l_experimental')
0 files changed, 0 insertions, 0 deletions