Support unloading the module built from the full kernel
[gspca_kinect.git] / kinect.c
index f85e746..2028c64 100644 (file)
--- a/kinect.c
+++ b/kinect.c
@@ -61,7 +61,9 @@ struct cam_hdr {
 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 stream_flag;        /* to identify different stream 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;
 
@@ -231,7 +233,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
 
        sd->cam_tag = 0;
 
-       /* Only color camera is supported for now,
+       /* Only video stream is supported for now,
         * which has stream flag = 0x80 */
        sd->stream_flag = 0x80;
 
@@ -241,7 +243,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
        cam->nmodes = ARRAY_SIZE(video_camera_mode);
 
 #if 0
-       /* Setting those values is not needed for color camera */
+       /* Setting those values is not needed for video stream */
        cam->npkt = 15;
        gspca_dev->pkt_size = 960 * 2;
 #endif