• Tobias Lorenz's avatar
    V4L/DVB (7091): radio-si470x improvements and seldom problem fixed in tuning functions · 0e3301ec
    Tobias Lorenz authored
    I updated the radio-si470x driver another time. Here are the commented history entries:
    
    - number of seek_retries changed to tune_timeout
    The last versions checked for the end of frequency tuning by polling a si470x register.
    Therefore polling depended on the usb utilization.
    This was changed to have a constant timeout now.
    
    - fixed problem with incomplete tune operations by own buffers
    The last version used a shared buffer to assembly the USB HID reports.
    It sometimes happened, that multiple functions were modifing this buffer simultanuously.
    When sending such reports, the hardware returned USB stalls (-EPIPE).
    Now buffers of the correct size (smaller than before) are allocated as local variables.
    
    - optimization of variables
    The size of some variables has been reduced to allow the compiler to generate more optimized code.
    
    - improved error logging
    At some important location, error checking was improved.
    Especially the usb transfers to access si470x registers and the tuning functions were modified.
    Signed-off-by: default avatarTobias Lorenz <tobias.lorenz@gmx.net>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
    0e3301ec
radio-si470x.c 40.3 KB