• Tomoki Sekiyama's avatar
    media: siano: Fix coherent memory allocation failure on arm64 · 564246fd
    Tomoki Sekiyama authored
    On some architectures such as arm64, siano chip based TV-tuner
    USB devices are not recognized correctly due to coherent memory
    allocation failure with the following error:
    
    [  663.556135] usbcore: deregistering interface driver smsusb
    [  683.624809] smsusb:smsusb_probe: board id=18, interface number 0
    [  683.633530] smsusb:smsusb_init_device: smscore_register_device(...) failed, rc -12
    [  683.641501] smsusb:smsusb_probe: Device initialized with return code -12
    [  683.652978] smsusb: probe of 1-1:1.0 failed with error -12
    
    This is caused by dma_alloc_coherent(NULL, ...) returning NULL in
    smscoreapi.c.
    
    To fix this error, allocate the buffer memory for the USB devices
    via kmalloc() and let the USB core do the DMA mapping and free.
    Signed-off-by: default avatarTomoki Sekiyama <tomoki.sekiyama@gmail.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    564246fd
smsusb.c 19.7 KB