mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 03:40:55 +07:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (6916): ivtv: udelay has to be changed *after* the eeprom was read, not before V4L/DVB (6944a): Fix Regression VIDIOCGMBUF ioctl hangs on bttv driver
This commit is contained in:
commit
89a30a8388
@ -3063,11 +3063,10 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
|
||||
struct video_mbuf *mbuf = arg;
|
||||
unsigned int i;
|
||||
|
||||
mutex_lock(&fh->cap.lock);
|
||||
retval = videobuf_mmap_setup(&fh->cap,gbuffers,gbufsize,
|
||||
V4L2_MEMORY_MMAP);
|
||||
if (retval < 0)
|
||||
goto fh_unlock_and_return;
|
||||
return retval;
|
||||
|
||||
gbuffers = retval;
|
||||
memset(mbuf,0,sizeof(*mbuf));
|
||||
@ -3075,7 +3074,6 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
|
||||
mbuf->size = gbuffers * gbufsize;
|
||||
for (i = 0; i < gbuffers; i++)
|
||||
mbuf->offsets[i] = i * gbufsize;
|
||||
mutex_unlock(&fh->cap.lock);
|
||||
return 0;
|
||||
}
|
||||
case VIDIOCMCAPTURE:
|
||||
|
@ -1076,6 +1076,10 @@ static int __devinit ivtv_probe(struct pci_dev *dev,
|
||||
ivtv_process_eeprom(itv);
|
||||
}
|
||||
|
||||
/* The mspx4xx chips need a longer delay for some reason */
|
||||
if (!(itv->hw_flags & IVTV_HW_MSP34XX))
|
||||
itv->i2c_algo.udelay = 5;
|
||||
|
||||
if (itv->std == 0) {
|
||||
itv->std = V4L2_STD_NTSC_M;
|
||||
}
|
||||
|
@ -541,7 +541,7 @@ static const struct i2c_algo_bit_data ivtv_i2c_algo_template = {
|
||||
.setscl = ivtv_setscl_old,
|
||||
.getsda = ivtv_getsda_old,
|
||||
.getscl = ivtv_getscl_old,
|
||||
.udelay = 5,
|
||||
.udelay = 10,
|
||||
.timeout = 200,
|
||||
};
|
||||
|
||||
@ -718,9 +718,6 @@ int init_ivtv_i2c(struct ivtv *itv)
|
||||
sizeof(struct i2c_adapter));
|
||||
memcpy(&itv->i2c_algo, &ivtv_i2c_algo_template,
|
||||
sizeof(struct i2c_algo_bit_data));
|
||||
/* The mspx4xx chips need a longer delay for some reason */
|
||||
if (itv->hw_flags & IVTV_HW_MSP34XX)
|
||||
itv->i2c_algo.udelay = 10;
|
||||
itv->i2c_algo.data = itv;
|
||||
itv->i2c_adap.algo_data = &itv->i2c_algo;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user