mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2025-03-01 10:35:23 +00:00
prevent lockup
This commit is contained in:
parent
0fcd9563f1
commit
59cbab6383
@ -452,18 +452,20 @@ int ddbridge_mod_output_start(struct ddb_output *output)
|
||||
|
||||
static int mod_write_max2871(struct ddb *dev, u32 val)
|
||||
{
|
||||
u32 retry = 100;
|
||||
ddbwritel(dev, val, MAX2871_OUTDATA);
|
||||
ddbwritel(dev, MAX2871_CONTROL_CE | MAX2871_CONTROL_WRITE,
|
||||
MAX2871_CONTROL);
|
||||
while (1) {
|
||||
while (--retry) {
|
||||
u32 ControlReg = ddbreadl(dev, MAX2871_CONTROL);
|
||||
|
||||
if (ControlReg == 0xFFFFFFFF)
|
||||
return -EIO;
|
||||
if ((ControlReg & MAX2871_CONTROL_WRITE) == 0)
|
||||
break;
|
||||
if ((ControlReg & MAX2871_CONTROL_WRITE) == 0)
|
||||
return 0;
|
||||
udelay(10);
|
||||
}
|
||||
return 0;
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
static u32 max2871_fsm[6] = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user