video-buf oops/crash fixes
PATCH 1/1 video-buf oops/crash fixes
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 <[email protected]>
--- 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(-)
drivers/media/video/saa7134/saa7134-video.c +3 -3
@@ -1305,11 +1305,11 @@ video_poll(struct file *file, struct polup (&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 *ires_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); }
drivers/media/video/cx88/cx88-video.c +1 -1
@@ -1070,7 +1070,7 @@ static int video_release(struct inode *ires_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); }
drivers/media/video/bttv-driver.c +4 -4
@@ -2418,7 +2418,7 @@ static int bttv_do_ioctl(struct inode *iif (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 *infree_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); }
Signature · 1 line
#define printk(args...) fprintf(stderr, ## args)