|
@@ -8702,7 +8702,7 @@ static int t4_get_flash_params(struct adapter *adap)
|
|
|
};
|
|
|
|
|
|
unsigned int part, manufacturer;
|
|
|
- unsigned int density, size;
|
|
|
+ unsigned int density, size = 0;
|
|
|
u32 flashid = 0;
|
|
|
int ret;
|
|
|
|
|
@@ -8772,11 +8772,6 @@ static int t4_get_flash_params(struct adapter *adap)
|
|
|
case 0x22: /* 256MB */
|
|
|
size = 1 << 28;
|
|
|
break;
|
|
|
-
|
|
|
- default:
|
|
|
- dev_err(adap->pdev_dev, "Micron Flash Part has bad size, ID = %#x, Density code = %#x\n",
|
|
|
- flashid, density);
|
|
|
- return -EINVAL;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -8792,10 +8787,6 @@ static int t4_get_flash_params(struct adapter *adap)
|
|
|
case 0x17: /* 64MB */
|
|
|
size = 1 << 26;
|
|
|
break;
|
|
|
- default:
|
|
|
- dev_err(adap->pdev_dev, "ISSI Flash Part has bad size, ID = %#x, Density code = %#x\n",
|
|
|
- flashid, density);
|
|
|
- return -EINVAL;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -8811,10 +8802,6 @@ static int t4_get_flash_params(struct adapter *adap)
|
|
|
case 0x18: /* 16MB */
|
|
|
size = 1 << 24;
|
|
|
break;
|
|
|
- default:
|
|
|
- dev_err(adap->pdev_dev, "Macronix Flash Part has bad size, ID = %#x, Density code = %#x\n",
|
|
|
- flashid, density);
|
|
|
- return -EINVAL;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -8830,17 +8817,21 @@ static int t4_get_flash_params(struct adapter *adap)
|
|
|
case 0x18: /* 16MB */
|
|
|
size = 1 << 24;
|
|
|
break;
|
|
|
- default:
|
|
|
- dev_err(adap->pdev_dev, "Winbond Flash Part has bad size, ID = %#x, Density code = %#x\n",
|
|
|
- flashid, density);
|
|
|
- return -EINVAL;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- default:
|
|
|
- dev_err(adap->pdev_dev, "Unsupported Flash Part, ID = %#x\n",
|
|
|
- flashid);
|
|
|
- return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* If we didn't recognize the FLASH part, that's no real issue: the
|
|
|
+ * Hardware/Software contract says that Hardware will _*ALWAYS*_
|
|
|
+ * use a FLASH part which is at least 4MB in size and has 64KB
|
|
|
+ * sectors. The unrecognized FLASH part is likely to be much larger
|
|
|
+ * than 4MB, but that's all we really need.
|
|
|
+ */
|
|
|
+ if (size == 0) {
|
|
|
+ dev_warn(adap->pdev_dev, "Unknown Flash Part, ID = %#x, assuming 4MB\n",
|
|
|
+ flashid);
|
|
|
+ size = 1 << 22;
|
|
|
}
|
|
|
|
|
|
/* Store decoded Flash size and fall through into vetting code. */
|