On Tue, May 6, 2014 at 11:58 PM, <cb.xiong@xxxxxxxxxxx> wrote: > From: Changbing Xiong <cb.xiong@xxxxxxxxxxx> > > The driver crashed when the tuner was disconnected while restart stream > operations are still being performed. Fixed by adding a flag in struct > au0828_dvb to indicate whether restart stream operations can be performed. > > If the stream gets misaligned, the work of restart stream operations are > usually scheduled for many times in a row. If tuner is disconnected at > this time and some of restart stream operations are still not flushed, > then the driver crashed due to accessing the resource which used in > restart stream operations has been released. > > Signed-off-by: Changbing Xiong <cb.xiong@xxxxxxxxxxx> I haven't yet reviewed the logic in detail, but at a minimum this should really be two patches - one to address the disconnect bug and a second to deal with failure to cancel to the worker thread. Also, you need to pick a name for the variable that is more explanatory than "flag". Please resubmit this as two separate patches with "flag" renamed, and I will then look at the actual implementation to see if it causes any problems. Thanks, Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html