this patch is slightly differerent from the last one i posted. it's still diffed against 2.4.17pre1. one obvious thinko is fixed, and a couple lines that looked bad to me have been changed (goto end in i810_read seems to be necessary to clean up the wait queue unless I'm mistaken), and I'm no longer reproducing any OOPSes. however, i am seeing artsd segfault occasionally. this also seems to happen with the 4Front driver, however, at least if I load 4Front's module after unloading this patched driver. I'm not sure if this is a bug in artsd or specific to my setup or something nasty i've done to my kernel's data structures ;) so maybe somebody else who's still having problems with 2.4.17pre1 and KDE can take a look and see how it works for them.