> > > The only missing bit is to skip the writeback, as the fault has to
> > > be first fixed by the caller, so the patch below should do the
> > > trick...
> > It does indeed do the trick! Thanks, Roman.
> No more access faults from kernel space possible this way?
The faults are all generated by accesses to the PDMA glue logic I/O
register; that address would be in kernel space.
> What happens with PDMA commands that fail during error processing -
> won't that command data belong in kernel space?
esp->command_block is in kernel space too but I don't know what the
implications are for handling faults. I have had to use the chip's
transfer count to determine where to resume a sequence of writes to the
I/O register following a fault. Apparently a bus error on a read from the
I/O register prevents the post-increment on the destination address, so
resuming is simpler.