mediatek: filogic: prevent faulty mac address assignment
[openwrt/openwrt.git] / package / boot / uboot-mediatek / patches / 300-mt7623-fix-mmc-get-env-dev.patch
1 --- a/board/mediatek/mt7623/mt7623_rfb.c
2 +++ b/board/mediatek/mt7623/mt7623_rfb.c
3 @@ -5,6 +5,7 @@
4
5 #include <common.h>
6 #include <mmc.h>
7 +#include <part.h>
8 #include <asm/global_data.h>
9
10 DECLARE_GLOBAL_DATA_PTR;
11 @@ -22,8 +23,9 @@ int mmc_get_boot_dev(void)
12 {
13 int g_mmc_devid = -1;
14 char *uflag = (char *)0x81DFFFF0;
15 + struct blk_desc *desc;
16
17 - if (!find_mmc_device(1))
18 + if (blk_get_device_by_str("mmc", "1", &desc) < 0)
19 return 0;
20
21 if (strncmp(uflag,"eMMC",4)==0) {
22 @@ -38,6 +40,23 @@ int mmc_get_boot_dev(void)
23
24 int mmc_get_env_dev(void)
25 {
26 - return mmc_get_boot_dev();
27 + struct udevice *dev;
28 + const char *mmcdev;
29 +
30 + switch (mmc_get_boot_dev()) {
31 + case 0:
32 + mmcdev = "mmc@11230000";
33 + break;
34 + case 1:
35 + mmcdev = "mmc@11240000";
36 + break;
37 + default:
38 + return -1;
39 + }
40 +
41 + if (uclass_get_device_by_name(UCLASS_MMC, mmcdev, &dev))
42 + return -1;
43 +
44 + return dev_seq(dev);
45 }
46 #endif