371 |
if (reg & HERMES_OFFSET_BUSY) |
if (reg & HERMES_OFFSET_BUSY) |
372 |
return -ETIMEDOUT; |
return -ETIMEDOUT; |
373 |
|
|
|
if (reg != offset) { |
|
|
printk(KERN_ERR "hermes @ %s0x%lx: " |
|
|
"BAP offset error: reg=0x%x offset=0x%x\n", |
|
|
IO_TYPE(hw), hw->iobase, reg, offset); |
|
|
} |
|
|
|
|
374 |
/* Now we actually set up the transfer */ |
/* Now we actually set up the transfer */ |
375 |
hermes_write_reg(hw, sreg, id); |
hermes_write_reg(hw, sreg, id); |
376 |
hermes_write_reg(hw, oreg, offset); |
hermes_write_reg(hw, oreg, offset); |
384 |
reg = hermes_read_reg(hw, oreg); |
reg = hermes_read_reg(hw, oreg); |
385 |
} |
} |
386 |
|
|
387 |
|
if (reg != offset) { |
388 |
|
printk(KERN_ERR "hermes @ %s0x%lx: " |
389 |
|
"BAP offset error: reg=0x%x offset=0x%x\n", |
390 |
|
IO_TYPE(hw), hw->iobase, reg, offset); |
391 |
|
} |
392 |
|
|
393 |
if (reg & HERMES_OFFSET_BUSY) { |
if (reg & HERMES_OFFSET_BUSY) { |
394 |
return -ETIMEDOUT; |
return -ETIMEDOUT; |
395 |
} |
} |
398 |
return -EIO; |
return -EIO; |
399 |
} |
} |
400 |
|
|
|
|
|
401 |
return 0; |
return 0; |
402 |
} |
} |
403 |
|
|