- patches.arch/x86_mce_intel_decode_physical_address.patch:
[linux-flexiantxendom0-3.2.10.git] / drivers / media / video / bt8xx / bttv-driver.c
index f4860f0..38c7f78 100644 (file)
@@ -1525,7 +1525,7 @@ static int bttv_s_ctrl(struct file *file, void *f,
        struct bttv_fh *fh = f;
        struct bttv *btv = fh->btv;
 
-       err = v4l2_prio_check(&btv->prio, &fh->prio);
+       err = v4l2_prio_check(&btv->prio, fh->prio);
        if (0 != err)
                return err;
 
@@ -1806,8 +1806,8 @@ buffer_setup(struct videobuf_queue *q, unsigned int *count, unsigned int *size)
        *size = fh->fmt->depth*fh->width*fh->height >> 3;
        if (0 == *count)
                *count = gbuffers;
-       while (*size * *count > gbuffers * gbufsize)
-               (*count)--;
+       if (*size * *count > gbuffers * gbufsize)
+               *count = (gbuffers * gbufsize) / *size;
        return 0;
 }
 
@@ -1859,7 +1859,7 @@ static int bttv_s_std(struct file *file, void *priv, v4l2_std_id *id)
        unsigned int i;
        int err;
 
-       err = v4l2_prio_check(&btv->prio, &fh->prio);
+       err = v4l2_prio_check(&btv->prio, fh->prio);
        if (0 != err)
                return err;
 
@@ -1941,7 +1941,7 @@ static int bttv_s_input(struct file *file, void *priv, unsigned int i)
 
        int err;
 
-       err = v4l2_prio_check(&btv->prio, &fh->prio);
+       err = v4l2_prio_check(&btv->prio, fh->prio);
        if (0 != err)
                return err;
 
@@ -1961,7 +1961,7 @@ static int bttv_s_tuner(struct file *file, void *priv,
        struct bttv *btv = fh->btv;
        int err;
 
-       err = v4l2_prio_check(&btv->prio, &fh->prio);
+       err = v4l2_prio_check(&btv->prio, fh->prio);
        if (0 != err)
                return err;
 
@@ -1987,11 +1987,6 @@ static int bttv_g_frequency(struct file *file, void *priv,
 {
        struct bttv_fh *fh  = priv;
        struct bttv *btv = fh->btv;
-       int err;
-
-       err = v4l2_prio_check(&btv->prio, &fh->prio);
-       if (0 != err)
-               return err;
 
        f->type = btv->radio_user ? V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV;
        f->frequency = btv->freq;
@@ -2006,7 +2001,7 @@ static int bttv_s_frequency(struct file *file, void *priv,
        struct bttv *btv = fh->btv;
        int err;
 
-       err = v4l2_prio_check(&btv->prio, &fh->prio);
+       err = v4l2_prio_check(&btv->prio, fh->prio);
        if (0 != err)
                return err;
 
@@ -3029,7 +3024,7 @@ static int bttv_s_crop(struct file *file, void *f, struct v4l2_crop *crop)
            crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
                return -EINVAL;
 
-       retval = v4l2_prio_check(&btv->prio, &fh->prio);
+       retval = v4l2_prio_check(&btv->prio, fh->prio);
        if (0 != retval)
                return retval;
 
@@ -3241,7 +3236,7 @@ static int bttv_open(struct file *file)
        *fh = btv->init;
        fh->type = type;
        fh->ov.setup_ok = 0;
-       v4l2_prio_open(&btv->prio,&fh->prio);
+       v4l2_prio_open(&btv->prio, &fh->prio);
 
        videobuf_queue_sg_init(&fh->cap, &bttv_video_qops,
                            &btv->c.pci->dev, &btv->s_lock,
@@ -3312,7 +3307,7 @@ static int bttv_release(struct file *file)
        /* free stuff */
        videobuf_mmap_free(&fh->cap);
        videobuf_mmap_free(&fh->vbi);
-       v4l2_prio_close(&btv->prio,&fh->prio);
+       v4l2_prio_close(&btv->prio, fh->prio);
        file->private_data = NULL;
        kfree(fh);
 
@@ -3449,7 +3444,7 @@ static int radio_release(struct file *file)
        struct bttv *btv = fh->btv;
        struct rds_command cmd;
 
-       v4l2_prio_close(&btv->prio,&fh->prio);
+       v4l2_prio_close(&btv->prio, fh->prio);
        file->private_data = NULL;
        kfree(fh);