aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firmware')
-rw-r--r--drivers/firmware/broadcom/bcm47xx_nvram.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/firmware/broadcom/bcm47xx_nvram.c b/drivers/firmware/broadcom/bcm47xx_nvram.c
index 0c2f0a61b0ea..0b631e5b5b84 100644
--- a/drivers/firmware/broadcom/bcm47xx_nvram.c
+++ b/drivers/firmware/broadcom/bcm47xx_nvram.c
@@ -94,15 +94,14 @@ static int nvram_find_and_copy(void __iomem *iobase, u32 lim)
94 94
95found: 95found:
96 __ioread32_copy(nvram_buf, header, sizeof(*header) / 4); 96 __ioread32_copy(nvram_buf, header, sizeof(*header) / 4);
97 header = (struct nvram_header *)nvram_buf; 97 nvram_len = ((struct nvram_header *)(nvram_buf))->len;
98 nvram_len = header->len;
99 if (nvram_len > size) { 98 if (nvram_len > size) {
100 pr_err("The nvram size according to the header seems to be bigger than the partition on flash\n"); 99 pr_err("The nvram size according to the header seems to be bigger than the partition on flash\n");
101 nvram_len = size; 100 nvram_len = size;
102 } 101 }
103 if (nvram_len >= NVRAM_SPACE) { 102 if (nvram_len >= NVRAM_SPACE) {
104 pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n", 103 pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
105 header->len, NVRAM_SPACE - 1); 104 nvram_len, NVRAM_SPACE - 1);
106 nvram_len = NVRAM_SPACE - 1; 105 nvram_len = NVRAM_SPACE - 1;
107 } 106 }
108 /* proceed reading data after header */ 107 /* proceed reading data after header */