Move large communications buffers out of stack and into device
structure. This prevents the frame size from being >1kB and fixes a
compiler warning when CONFIG_FRAME_WARN=1024:
drivers/media/video/gspca/kinect.c: In function ‘send_cmd.clone.0’:
drivers/media/video/gspca/kinect.c:202: warning: the frame size of 1548 bytes is larger than 1024 bytes
Reported-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
struct gspca_dev gspca_dev; /* !! must be the first item */
uint16_t cam_tag; /* a sequence number for packets */
uint8_t stream_flag; /* to identify different steram types */
struct gspca_dev gspca_dev; /* !! must be the first item */
uint16_t cam_tag; /* a sequence number for packets */
uint8_t stream_flag; /* to identify different steram types */
+ uint8_t obuf[0x400]; /* output buffer for control commands */
+ uint8_t ibuf[0x200]; /* input buffer for control commands */
};
/* V4L2 controls supported by the driver */
};
/* V4L2 controls supported by the driver */
struct sd *sd = (struct sd *) gspca_dev;
struct usb_device *udev = gspca_dev->dev;
int res, actual_len;
struct sd *sd = (struct sd *) gspca_dev;
struct usb_device *udev = gspca_dev->dev;
int res, actual_len;
- uint8_t obuf[0x400];
- uint8_t ibuf[0x200];
+ uint8_t *obuf = sd->obuf;
+ uint8_t *ibuf = sd->ibuf;
struct cam_hdr *chdr = (void *)obuf;
struct cam_hdr *rhdr = (void *)ibuf;
struct cam_hdr *chdr = (void *)obuf;
struct cam_hdr *rhdr = (void *)ibuf;