X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fblock%2Fviodasd.c;h=fbc95a96f6e267bbf8ef08743871e585f8f63420;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=9534c740e76e795939446ee24191d3ef6dbd153d;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c index 9534c740e..fbc95a96f 100644 --- a/drivers/block/viodasd.c +++ b/drivers/block/viodasd.c @@ -72,7 +72,7 @@ enum { MAX_DISK_NAME = sizeof(((struct gendisk *)0)->disk_name) }; -static spinlock_t viodasd_spinlock = SPIN_LOCK_UNLOCKED; +static DEFINE_SPINLOCK(viodasd_spinlock); #define VIOMAXREQ 16 #define VIOMAXBLOCKDMA 12 @@ -764,8 +764,8 @@ static int viodasd_remove(struct vio_dev *vdev) d = &viodasd_devices[vdev->unit_address]; if (d->disk) { del_gendisk(d->disk); - put_disk(d->disk); blk_cleanup_queue(d->disk->queue); + put_disk(d->disk); d->disk = NULL; } d->dev = NULL;