aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/memstick/core/mspro_block.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/memstick/core/mspro_block.c')
-rw-r--r--drivers/memstick/core/mspro_block.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/mspro_block.c
index 02362eccc588..a167938d4517 100644
--- a/drivers/memstick/core/mspro_block.c
+++ b/drivers/memstick/core/mspro_block.c
@@ -1206,10 +1206,12 @@ static int mspro_block_init_disk(struct memstick_dev *card)
1206 1206
1207 msb->page_size = be16_to_cpu(sys_info->unit_size); 1207 msb->page_size = be16_to_cpu(sys_info->unit_size);
1208 1208
1209 if (!idr_pre_get(&mspro_block_disk_idr, GFP_KERNEL)) 1209 mutex_lock(&mspro_block_disk_lock);
1210 if (!idr_pre_get(&mspro_block_disk_idr, GFP_KERNEL)) {
1211 mutex_unlock(&mspro_block_disk_lock);
1210 return -ENOMEM; 1212 return -ENOMEM;
1213 }
1211 1214
1212 mutex_lock(&mspro_block_disk_lock);
1213 rc = idr_get_new(&mspro_block_disk_idr, card, &disk_id); 1215 rc = idr_get_new(&mspro_block_disk_idr, card, &disk_id);
1214 mutex_unlock(&mspro_block_disk_lock); 1216 mutex_unlock(&mspro_block_disk_lock);
1215 1217