[media] mxl111sf: Don't use dynamic static allocation
Dynamic static allocation is evil, as Kernel stack is too low, and compilation complains about it on some archs: drivers/media/usb/dvb-usb-v2/mxl111sf.c:74:1: warning: 'mxl111sf_ctrl_msg' uses dynamic stack allocation [enabled by default] Instead, let's enforce a limit for the buffer to be the max size of a control URB payload data (64 bytes). Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
Родитель
7760e14835
Коммит
c98300a0e8
|
@ -23,6 +23,9 @@
|
|||
#include "lgdt3305.h"
|
||||
#include "lg2160.h"
|
||||
|
||||
/* Max transfer size done by I2C transfer functions */
|
||||
#define MAX_XFER_SIZE 64
|
||||
|
||||
int dvb_usb_mxl111sf_debug;
|
||||
module_param_named(debug, dvb_usb_mxl111sf_debug, int, 0644);
|
||||
MODULE_PARM_DESC(debug, "set debugging level "
|
||||
|
@ -57,7 +60,12 @@ int mxl111sf_ctrl_msg(struct dvb_usb_device *d,
|
|||
{
|
||||
int wo = (rbuf == NULL || rlen == 0); /* write-only */
|
||||
int ret;
|
||||
u8 sndbuf[1+wlen];
|
||||
u8 sndbuf[MAX_XFER_SIZE];
|
||||
|
||||
if (1 + wlen > sizeof(sndbuf)) {
|
||||
pr_warn("%s: len=%d is too big!\n", __func__, wlen);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
pr_debug("%s(wlen = %d, rlen = %d)\n", __func__, wlen, rlen);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче