There is a little bug in the /etc/init.d/hisax init script, in the stop() section. Please find the following line (3rd line from end of file): /sbin/modprobe -sqr hisax_fcpcipnp && /sbin/modprobe -sqr hisax IMO the two "&&" should be replaced with a "||", otherwise it fails unloading the "hisax_fcpcipnp" module on a system that only has the "hisax" module, aborts the stop() operation with an error and lets the "hisax" module remain loaded.
"/sbin/modprobe -sqr <module>" returns 0 if there is no *real* error (at least it does when I tested it), so && should work fine. nonetheless || would be completely wrong if you have both modules loaded. So the only solution is to run both modprobe's unconditionally. I will change this.
finally fixed in CVS.