• Mauro Carvalho Chehab's avatar
    [media] au0828: reset streaming when a new frequency is set · f6fef863
    Mauro Carvalho Chehab authored
    As reported by Trevor, doing several opening/streaming/closing
    operations to the demux causes it to fail.
    
    I was able to simulate this bug too. I also noticed that,
    sometimes, changing channels with au0828, the same thing
    happens.
    
    Most of the issues seem to be due to some hardware bug, that
    causes the device to not fill all the URBs allocated. When
    the bug happens, the only known fix is to either replug the
    device, or to send an USB reset to it.
    
    There's also a hack a the au0828 driver that starts a thread
    that tries to reset the device when a package doesn't start
    with a sync.
    
    One of the culpits for this bad hardware behavior seem to be
    caused by the lack of stopping and restarting the stream every
    time a new channel is set.
    
    This patch warrants that the stream will be properly reset
    every time the set_frontend callback is called, partially
    solving the problem.
    
    A complete fix, however, would also need to check the PM
    conditions for the tuner and demux.
    Reported-by: default avatarTrevor Graffa <tlgraffa@gmail.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
    f6fef863
au0828-dvb.c 15 KB