Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Fix device name collision
  • Loading branch information
raporrass committed Jul 25, 2015
commit 5d9a8fda3d1535f9d63d5343705837470beb167e
25 changes: 12 additions & 13 deletions drivers/mmc/card/block.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ enum {
MMC_PACKED_NR_SINGLE,
};

#if defined(CONFIG_MACH_MESON8B_ODROIDC)
#define AML_SDHC_RESERVED_IDX 0
#endif

module_param(perdev_minors, int, 0444);
MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device");

Expand Down Expand Up @@ -2205,25 +2209,16 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
*/
#if defined(CONFIG_MACH_MESON8B_ODROIDC)
if (strncmp(dev_name(mmc_dev(card->host)), "aml_sdhc.0", 8) == 0) {
md->name_idx = 0;
__set_bit(md->name_idx, name_use);
} else if (strncmp(dev_name(mmc_dev(card->host)), "aml_sdio.0", 8) == 0) {
if (!subname) {
md->name_idx = find_first_zero_bit(name_use, max_devices);
__set_bit(md->name_idx, name_use);
} else {
md->name_idx = ((struct mmc_blk_data *)
dev_to_disk(parent)->private_data)->name_idx;
}
}
#else
md->name_idx = AML_SDHC_RESERVED_IDX;
} else
#endif
if (!subname) {
md->name_idx = find_first_zero_bit(name_use, max_devices);
__set_bit(md->name_idx, name_use);
} else
md->name_idx = ((struct mmc_blk_data *)
dev_to_disk(parent)->private_data)->name_idx;
#endif

md->area_type = area_type;

/*
Expand Down Expand Up @@ -2660,6 +2655,10 @@ static int __init mmc_blk_init(void)
{
int res;

#if defined(CONFIG_MACH_MESON8B_ODROIDC)
__set_bit(AML_SDHC_RESERVED_IDX, name_use);
#endif

if (perdev_minors != CONFIG_MMC_BLOCK_MINORS)
pr_info("mmcblk: using %d minors per device\n", perdev_minors);

Expand Down