mt76: Print error message when reading EEPROM from mtd failed
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 22 Oct 2021 21:41:40 +0000 (23:41 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sat, 23 Oct 2021 11:23:45 +0000 (13:23 +0200)
When the EEPROM data is stored on a MTD partition print an error message
when reading this MTD partition failed. This is currently happening
often in OpenWrt because the initial data was written with using a flash
driver which ignores the error detection data and now OpenWrt uses a
driver which checks it.

With this patch a better error message is shown:
[    8.986988] mt7915e 0000:01:00.0: WA Firmware Version: DEV_000000, Build Time: 20201105222323
[    9.100508] mt7915e 0000:01:00.0: reading EEPROM from mtd factory failed: -117
[    9.144289] mt7915e: probe of 0000:01:00.0 failed with error -22

mt7915 does not work without an EEPROM, MT7922 still works.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/eeprom.c

index e65b2262e6927a9bd0de0b55052261c02175ebd4..2d58aa31db934d55789bbe1d5363157bb32f101f 100644 (file)
@@ -65,8 +65,11 @@ int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int offset, int len)
        offset = be32_to_cpup(list);
        ret = mtd_read(mtd, offset, len, &retlen, eep);
        put_mtd_device(mtd);
-       if (ret)
+       if (ret) {
+               dev_err(dev->dev, "reading EEPROM from mtd %s failed: %i\n",
+                       part, ret);
                goto out_put_node;
+       }
 
        if (retlen < len) {
                ret = -EINVAL;