On Tue, Dec 12, 2017 at 10:54 PM, Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > On 12 December 2017 at 17:15, <jassisinghbrar@xxxxxxxxx> wrote: .... >> + >> +static int netsec_netdev_load_microcode(struct netsec_priv *priv) >> +{ >> + int err; >> + >> + err = netsec_netdev_load_ucode_region( >> + priv, NETSEC_REG_DMAC_HM_CMD_BUF, >> + le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_H), >> + le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_L), >> + le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_SIZE)); > > ... here, and in other places below, you are still dereferencing > eeprom_base as if it is a pointer, which is not allowed with in the > __iomem address space. This should use readl() instead [which happens > to incorporate the endian swap as well] > Ahh, how could it have been just two revisions! thanks -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html