• Andrea Merello's avatar
    at76c50x-usb: Don't perform DMA from stack memory · 174beab7
    Andrea Merello authored
    Loading the driver with DMA debugging enabled makes the kernel to complain
    about the ehci driver trying to perform DMA from memory from the stack.
    
    [ 9848.229514] WARNING: CPU: 1 PID: 627 at lib/dma-debug.c:1153 check_for_stack+0xa4/0xf0()
    [ 9848.237678] ehci-pci 0000:00:04.1: DMA-API: device driver maps memory fromstack [addr=ffff88006c80da01]
    
    This is due to at76c50x-usb driver passing buffers allocated on the stack to
    the USB layer, that attempts DMA. This occurs is several places.
    
    This patch fixes the problem by allocating those buffers via kmalloc.
    
    Since this adds some kfree() before leaving a couple of functions, I caught the
    occasion to clean-up the exit path on error.
    Signed-off-by: default avatarAndrea Merello <andrea.merello@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    174beab7
at76c50x-usb.c 68.2 KB