[patch] video-buf oops/crash fixes
From: Gerd Knorr
Date: Fri Nov 19 2004 - 12:08:31 EST
Some places which need adaption to the last video-buf API change
where forgotten, this patches fixes them up. Hope I really catched
them all now.
Signed-off-by: Gerd Knorr <kraxel@xxxxxxxxxxx>
---
drivers/media/video/bttv-driver.c | 8 ++++----
drivers/media/video/cx88/cx88-video.c | 2 +-
drivers/media/video/saa7134/saa7134-video.c | 6 +++---
3 files changed, 8 insertions(+), 8 deletions(-)
Index: linux-2.6.10-rc2/drivers/media/video/saa7134/saa7134-video.c
===================================================================
--- linux-2.6.10-rc2.orig/drivers/media/video/saa7134/saa7134-video.c 2004-11-17 18:39:15.000000000 +0100
+++ linux-2.6.10-rc2/drivers/media/video/saa7134/saa7134-video.c 2004-11-19 15:42:44.383472058 +0100
@@ -1305,11 +1305,11 @@ video_poll(struct file *file, struct pol
up(&fh->cap.lock);
return POLLERR;
}
- if (0 != fh->cap.ops->buf_prepare(file->private_data,fh->cap.read_buf,fh->cap.field)) {
+ if (0 != fh->cap.ops->buf_prepare(&fh->cap,fh->cap.read_buf,fh->cap.field)) {
up(&fh->cap.lock);
return POLLERR;
}
- fh->cap.ops->buf_queue(file->private_data,fh->cap.read_buf);
+ fh->cap.ops->buf_queue(&fh->cap,fh->cap.read_buf);
fh->cap.read_off = 0;
}
up(&fh->cap.lock);
@@ -1346,7 +1346,7 @@ static int video_release(struct inode *i
res_free(dev,fh,RESOURCE_VIDEO);
}
if (fh->cap.read_buf) {
- buffer_release(file->private_data,fh->cap.read_buf);
+ buffer_release(&fh->cap,fh->cap.read_buf);
kfree(fh->cap.read_buf);
}
Index: linux-2.6.10-rc2/drivers/media/video/cx88/cx88-video.c
===================================================================
--- linux-2.6.10-rc2.orig/drivers/media/video/cx88/cx88-video.c 2004-11-17 18:40:34.000000000 +0100
+++ linux-2.6.10-rc2/drivers/media/video/cx88/cx88-video.c 2004-11-19 15:42:40.800146428 +0100
@@ -1070,7 +1070,7 @@ static int video_release(struct inode *i
res_free(dev,fh,RESOURCE_VIDEO);
}
if (fh->vidq.read_buf) {
- buffer_release(file->private_data,fh->vidq.read_buf);
+ buffer_release(&fh->vidq,fh->vidq.read_buf);
kfree(fh->vidq.read_buf);
}
Index: linux-2.6.10-rc2/drivers/media/video/bttv-driver.c
===================================================================
--- linux-2.6.10-rc2.orig/drivers/media/video/bttv-driver.c 2004-11-17 18:41:17.000000000 +0100
+++ linux-2.6.10-rc2/drivers/media/video/bttv-driver.c 2004-11-19 15:42:35.974054684 +0100
@@ -2418,7 +2418,7 @@ static int bttv_do_ioctl(struct inode *i
if (0 != retval)
goto fh_unlock_and_return;
spin_lock_irqsave(&btv->s_lock,flags);
- buffer_queue(file->private_data,&buf->vb);
+ buffer_queue(&fh->cap,&buf->vb);
spin_unlock_irqrestore(&btv->s_lock,flags);
up(&fh->cap.lock);
return 0;
@@ -2881,11 +2881,11 @@ static unsigned int bttv_poll(struct fil
}
fh->cap.read_buf->memory = V4L2_MEMORY_USERPTR;
field = videobuf_next_field(&fh->cap);
- if (0 != fh->cap.ops->buf_prepare(file->private_data,fh->cap.read_buf,field)) {
+ if (0 != fh->cap.ops->buf_prepare(&fh->cap,fh->cap.read_buf,field)) {
up(&fh->cap.lock);
return POLLERR;
}
- fh->cap.ops->buf_queue(file->private_data,fh->cap.read_buf);
+ fh->cap.ops->buf_queue(&fh->cap,fh->cap.read_buf);
fh->cap.read_off = 0;
}
up(&fh->cap.lock);
@@ -2975,7 +2975,7 @@ static int bttv_release(struct inode *in
free_btres(btv,fh,RESOURCE_VIDEO);
}
if (fh->cap.read_buf) {
- buffer_release(file->private_data,fh->cap.read_buf);
+ buffer_release(&fh->cap,fh->cap.read_buf);
kfree(fh->cap.read_buf);
}
--
#define printk(args...) fprintf(stderr, ## args)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/