--- linux-2.6.13/drivers/block/loop.c.orig 2005-08-29 00:41:01.000000000 +0100 +++ linux-2.6.13/drivers/block/loop.c 2005-09-14 14:01:42.844009381 +0100 @@ -74,6 +74,7 @@ #include #include #include +#include #include @@ -950,8 +951,12 @@ if (type >= MAX_LO_CRYPT) return -EINVAL; xfer = xfer_funcs[type]; - if (xfer == NULL) - return -EINVAL; + if (xfer == NULL) { + request_module("loop-encrypt-%u",type); + xfer = xfer_funcs[type]; + if (xfer == NULL) + return -EINVAL; + } } else xfer = NULL;