diff options
Diffstat (limited to 'drivers/memstick/core/mspro_block.c')
-rw-r--r-- | drivers/memstick/core/mspro_block.c | 6 |
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 | ||