On Dienstag 07 Juni 2005 21:04, Oliver Endriss wrote: > If I understood this -ERESTARTSYS thing correctly, the interrupted ioctl > will be automagically restarted when the user space signal handler has > completed. > > Signals can occur anytime, so the driver is broken and has to be fixed. > > The easiest and most robust fix would be to abort OSDSetBlock and > restart from the beginning. Can we tell the firmware to abort the > current bitmap transfer? My idea would be: on entry of OSDSetBlock: if there is a current transfer, wait for it to finish, call ReleaseBitmap and start all over. it is not just OSDSetBlock but half a dozen other functions where ERESTARTSYS is thrown away where it probably shouldn't. I am currently trying to fix that up, I hope to have a patch proposal tonight. That would be my first kernel patch... -- Wolfgang