X-Git-Url: http://bbs.cooldavid.org/git/?a=blobdiff_plain;f=drivers%2Fblock%2Fxd.c;h=4abd2bcd20fb8b069362e2684c8eed2dcd6a0620;hb=2a48fc0ab24241755dc93bfd4f01d68efab47f5a;hp=d5a3cd750561f29349e4850efde23a2463223bf6;hpb=bf25db365428dbd182768baa9850bef7afaac80d;p=net-next-2.6.git diff --git a/drivers/block/xd.c b/drivers/block/xd.c index d5a3cd75056..4abd2bcd20f 100644 --- a/drivers/block/xd.c +++ b/drivers/block/xd.c @@ -46,7 +46,7 @@ #include #include #include -#include +#include #include #include #include @@ -58,6 +58,7 @@ #include "xd.h" +static DEFINE_MUTEX(xd_mutex); static void __init do_xd_setup (int *integers); #ifdef MODULE static int xd[5] = { -1,-1,-1,-1, }; @@ -381,9 +382,9 @@ static int xd_ioctl(struct block_device *bdev, fmode_t mode, { int ret; - lock_kernel(); + mutex_lock(&xd_mutex); ret = xd_locked_ioctl(bdev, mode, cmd, param); - unlock_kernel(); + mutex_unlock(&xd_mutex); return ret; }