MTD: Fix problem based on non-working relocation (list head mtd_partitions)
Don't use LIST_HEAD() but initialize the struct via INIT_LIST_HEAD() upon first call of add_mtd_partitions(). Otherwise this won't work on platforms where the relocation is broken (like MIPS or PPC). Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
13d36ec849
commit
9def12cae3
|
@ -20,7 +20,7 @@
|
|||
#include <linux/mtd/compat.h>
|
||||
|
||||
/* Our partition linked list */
|
||||
static LIST_HEAD(mtd_partitions);
|
||||
struct list_head mtd_partitions;
|
||||
|
||||
/* Our partition node structure */
|
||||
struct mtd_part {
|
||||
|
@ -349,6 +349,14 @@ int add_mtd_partitions(struct mtd_info *master,
|
|||
u_int32_t cur_offset = 0;
|
||||
int i;
|
||||
|
||||
/*
|
||||
* Need to init the list here, since LIST_INIT() does not
|
||||
* work on platforms where relocation has problems (like MIPS
|
||||
* & PPC).
|
||||
*/
|
||||
if (mtd_partitions.next == NULL)
|
||||
INIT_LIST_HEAD(&mtd_partitions);
|
||||
|
||||
printk (KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);
|
||||
|
||||
for (i = 0; i < nbparts; i++) {
|
||||
|
|
Loading…
Reference in New Issue