diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-06-23 11:11:42 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-23 11:11:42 +0200 |
commit | f34bfb1beef8a17ba3d46b60f8fa19ffedc1ed8d (patch) | |
tree | 0816c565d26ae24854616faa0d497be365c2fe8b /arch/mips/lasat/lasat_board.c | |
parent | ee4311adf105f4d740f52e3948acc1d81598afcc (diff) | |
parent | 481c5346d0981940ee63037eb53e4e37b0735c10 (diff) |
Merge branch 'linus' into tracing/ftracetip-tracing-ftrace-2008-06-23_09.11_Mon
Diffstat (limited to 'arch/mips/lasat/lasat_board.c')
-rw-r--r-- | arch/mips/lasat/lasat_board.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/mips/lasat/lasat_board.c b/arch/mips/lasat/lasat_board.c index ec2f658c3709..31e328b3814d 100644 --- a/arch/mips/lasat/lasat_board.c +++ b/arch/mips/lasat/lasat_board.c @@ -23,18 +23,19 @@ #include <linux/kernel.h> #include <linux/string.h> #include <linux/ctype.h> +#include <linux/mutex.h> #include <asm/bootinfo.h> #include <asm/addrspace.h> #include "at93c.h" /* New model description table */ #include "lasat_models.h" +static DEFINE_MUTEX(lasat_eeprom_mutex); + #define EEPROM_CRC(data, len) (~crc32(~0, data, len)) struct lasat_info lasat_board_info; -void update_bcastaddr(void); - int EEPROMRead(unsigned int pos, unsigned char *data, int len) { int i; @@ -258,10 +259,6 @@ int lasat_init_board_info(void) sprintf(lasat_board_info.li_typestr, "%d", 10 * c); } -#if defined(CONFIG_INET) && defined(CONFIG_SYSCTL) - update_bcastaddr(); -#endif - return 0; } @@ -269,6 +266,8 @@ void lasat_write_eeprom_info(void) { unsigned long crc; + mutex_lock(&lasat_eeprom_mutex); + /* Generate the CRC */ crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info), sizeof(struct lasat_eeprom_struct) - 4); @@ -277,4 +276,6 @@ void lasat_write_eeprom_info(void) /* Write the EEPROM info */ EEPROMWrite(0, (unsigned char *)&lasat_board_info.li_eeprom_info, sizeof(struct lasat_eeprom_struct)); + + mutex_unlock(&lasat_eeprom_mutex); } |