diff options
author | Drew Fisher <drew.m.fisher@gmail.com> | 2011-04-21 13:51:34 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-05-20 16:30:57 +0400 |
commit | bb066467aa1af2d45ffbfcbba32c0bde201c8eb4 (patch) | |
tree | 32ca54eb02750521ce59ceb99d3443bf0b46f378 /drivers/media/video/gspca | |
parent | aff8ab5cc11c2c14b7ae3bb38cbe012c43b7dcef (diff) | |
download | linux-bb066467aa1af2d45ffbfcbba32c0bde201c8eb4.tar.xz |
[media] gspca - kinect: move communications buffers out of stack
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>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca')
-rw-r--r-- | drivers/media/video/gspca/kinect.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/video/gspca/kinect.c b/drivers/media/video/gspca/kinect.c index f85e746665cc..79c4ef520ee1 100644 --- a/drivers/media/video/gspca/kinect.c +++ b/drivers/media/video/gspca/kinect.c @@ -62,6 +62,8 @@ struct sd { 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 */ @@ -133,8 +135,8 @@ static int send_cmd(struct gspca_dev *gspca_dev, uint16_t cmd, void *cmdbuf, 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; |