diff options
| -rw-r--r-- | block/genhd.c | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/block/genhd.c b/block/genhd.c index 666e11b83983..ea982eadaf63 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -422,9 +422,9 @@ int blk_alloc_devt(struct hd_struct *part, dev_t *devt)  	/* allocate ext devt */  	idr_preload(GFP_KERNEL); -	spin_lock(&ext_devt_lock); +	spin_lock_bh(&ext_devt_lock);  	idx = idr_alloc(&ext_devt_idr, part, 0, NR_EXT_DEVT, GFP_NOWAIT); -	spin_unlock(&ext_devt_lock); +	spin_unlock_bh(&ext_devt_lock);  	idr_preload_end();  	if (idx < 0) @@ -449,9 +449,9 @@ void blk_free_devt(dev_t devt)  		return;  	if (MAJOR(devt) == BLOCK_EXT_MAJOR) { -		spin_lock(&ext_devt_lock); +		spin_lock_bh(&ext_devt_lock);  		idr_remove(&ext_devt_idr, blk_mangle_minor(MINOR(devt))); -		spin_unlock(&ext_devt_lock); +		spin_unlock_bh(&ext_devt_lock);  	}  } @@ -690,13 +690,13 @@ struct gendisk *get_gendisk(dev_t devt, int *partno)  	} else {  		struct hd_struct *part; -		spin_lock(&ext_devt_lock); +		spin_lock_bh(&ext_devt_lock);  		part = idr_find(&ext_devt_idr, blk_mangle_minor(MINOR(devt)));  		if (part && get_disk(part_to_disk(part))) {  			*partno = part->partno;  			disk = part_to_disk(part);  		} -		spin_unlock(&ext_devt_lock); +		spin_unlock_bh(&ext_devt_lock);  	}  	return disk; | 
