diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index e56e4637f0..ee0c33845c 100644 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -331,13 +331,19 @@ find_mtd_part() { } find_mmc_part() { - local DEVNAME PARTNAME + local DEVNAME PARTNAME ROOTDEV if grep -q "$1" /proc/mtd; then echo "" && return 0 fi - for DEVNAME in /sys/block/mmcblk*/mmcblk*p*; do + if [ -n "$2" ]; then + ROOTDEV="$2" + else + ROOTDEV="mmcblk*" + fi + + for DEVNAME in /sys/block/$ROOTDEV/mmcblk*p*; do PARTNAME="$(grep PARTNAME ${DEVNAME}/uevent | cut -f2 -d'=')" [ "$PARTNAME" = "$1" ] && echo "/dev/$(basename $DEVNAME)" && return 0 done