From de896fa7e5b5f97c4e9d52dcce0ad6064ba99af3 Mon Sep 17 00:00:00 2001 From: "K. Y. Srinivasan" Date: Tue, 10 May 2011 07:53:48 -0700 Subject: [PATCH] --- yaml --- r: 249444 b: refs/heads/master c: 6b73e4c06d326571589eebcb78efde6182330042 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/hv/blkvsc_drv.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index d8e62fae412b..f40f462781dc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c56624988dabc11ae9872159401d1fca7e597f18 +refs/heads/master: 6b73e4c06d326571589eebcb78efde6182330042 diff --git a/trunk/drivers/staging/hv/blkvsc_drv.c b/trunk/drivers/staging/hv/blkvsc_drv.c index cfef1c0bfb39..74d51bb78701 100644 --- a/trunk/drivers/staging/hv/blkvsc_drv.c +++ b/trunk/drivers/staging/hv/blkvsc_drv.c @@ -249,12 +249,13 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req, static int blkvsc_open(struct block_device *bdev, fmode_t mode) { struct block_device_context *blkdev = bdev->bd_disk->private_data; + unsigned long flags; - spin_lock(&blkdev->lock); + spin_lock_irqsave(&blkdev->lock, flags); blkdev->users++; - spin_unlock(&blkdev->lock); + spin_unlock_irqrestore(&blkdev->lock, flags); return 0; } @@ -616,17 +617,18 @@ static void blkvsc_shutdown(struct hv_device *dev) static int blkvsc_release(struct gendisk *disk, fmode_t mode) { struct block_device_context *blkdev = disk->private_data; + unsigned long flags; - spin_lock(&blkdev->lock); + spin_lock_irqsave(&blkdev->lock, flags); if (blkdev->users == 1) { - spin_unlock(&blkdev->lock); + spin_unlock_irqrestore(&blkdev->lock, flags); blkvsc_do_operation(blkdev, DO_FLUSH); - spin_lock(&blkdev->lock); + spin_lock_irqsave(&blkdev->lock, flags); } blkdev->users--; - spin_unlock(&blkdev->lock); + spin_unlock_irqrestore(&blkdev->lock, flags); return 0; }