linux/drivers/media
Mauro Carvalho Chehab 36e3cf0cb1 media: dvb-ttusb-budget: don't use stack for USB transfers
As reported by smatch:

    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:311 ttusb_boot_dsp() error: doing dma on the stack (b)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:321 ttusb_boot_dsp() error: doing dma on the stack (b)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:330 ttusb_boot_dsp() error: doing dma on the stack (b)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:351 ttusb_set_channel() error: doing dma on the stack (b)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:361 ttusb_del_channel() error: doing dma on the stack (b)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:412 ttusb_init_controller() error: doing dma on the stack (b0)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:416 ttusb_init_controller() error: doing dma on the stack (b1)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:422 ttusb_init_controller() error: doing dma on the stack (b2)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:425 ttusb_init_controller() error: doing dma on the stack (b3)
    drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c:430 ttusb_init_controller() error: doing dma on the stack (get_version)

This driver still uses the USB stack for DMA transfers,
which is broken for a long time. I almost dropped this driver,
as there's a high chance that nobody is using it with upstream
Kernels, as we didn't receive any bug reports.

As fixing this won't be hard, I ended opting to fix.

While here, I dropped an ugly hack that implemented read via
a separate function that was just doing a memcpy().

It should be noticed that, during the init phase, there's
a "b4" register that were never initialized, as its buffer
were used just to store the results of "b3" initialization.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-09-03 11:15:02 +02:00
..
cec media: cec: no need to check return value of debugfs_create functions 2020-09-01 14:13:26 +02:00
common media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
dvb-core media: videobuf2: add queue memory consistency parameter 2020-06-23 13:31:12 +02:00
dvb-frontends media: tda10021: avoid casts when using symbol_rate 2020-09-03 11:11:03 +02:00
firewire media: firewire: Using uninitialized values in node_probe() 2020-07-04 11:57:10 +02:00
i2c media: ov5675: correct the maximum exposure value 2020-09-01 14:13:27 +02:00
mc media: mc-device.c: change media_device_request_alloc to match media_ioctl_info 2020-08-29 08:15:23 +02:00
mmc media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
pci media: saa7134-alsa.c: number of pages should be unsigned long 2020-09-03 11:13:46 +02:00
platform media: venus: place extern venus_fw_debug on a header file 2020-09-03 11:09:54 +02:00
radio media: wl128x: get rid of a potential spectre issue 2020-09-03 11:09:32 +02:00
rc media: serial_ir: use the right type for a dma address 2020-09-03 11:11:40 +02:00
spi media: i2c/Kconfig: use sub-menus for I2C support 2020-04-16 10:34:40 +02:00
test-drivers media: Use fallthrough pseudo-keyword 2020-08-29 08:35:27 +02:00
tuners media: qt1010: fix usage of unititialized value 2020-09-03 11:07:57 +02:00
usb media: dvb-ttusb-budget: don't use stack for USB transfers 2020-09-03 11:15:02 +02:00
v4l2-core media: videobuf-dma-sg: number of pages should be unsigned long 2020-09-03 11:12:20 +02:00
Kconfig media: media/test_drivers: rename to test-drivers 2020-04-16 10:38:31 +02:00
Makefile media: media/test_drivers: rename to test-drivers 2020-04-16 10:38:31 +02:00