fix this bug:
BUG: spinlock bad magic on CPU#0, swapper/1
lock:
c0c83ffc, .magic:
00000000, .owner: <none>/-1, .owner_cpu: 0
[<
c044f108>] (unwind_backtrace+0x0/0xdc) from [<
c06f39e0>] (dump_stack+0x18/0x1c)
[<
c06f39e0>] (dump_stack+0x18/0x1c) from [<
c055aaa8>] (spin_bug+0x90/0xa4)
[<
c055aaa8>] (spin_bug+0x90/0xa4) from [<
c055abf0>] (_raw_spin_lock+0x2c/0x168)
[<
c055abf0>] (_raw_spin_lock+0x2c/0x168) from [<
c06f6f84>] (_spin_lock_irqsave+0x5c/0x68)
[<
c06f6f84>] (_spin_lock_irqsave+0x5c/0x68) from [<
c0418a78>] (fpga_dl_fw+0x98/0x358)
[<
c0418a78>] (fpga_dl_fw+0x98/0x358) from [<
c040da68>] (machine_rk2818_board_init+0x94/0x124)
[<
c040da68>] (machine_rk2818_board_init+0x94/0x124) from [<
c040a8c8>] (customize_machine+0x20/0x2c)
[<
c040a8c8>] (customize_machine+0x20/0x2c) from [<
c0449364>] (do_one_initcall+0x64/0x1c0)
[<
c0449364>] (do_one_initcall+0x64/0x1c0) from [<
c04085f4>] (kernel_init+0xa4/0x11c)
[<
c04085f4>] (kernel_init+0xa4/0x11c) from [<
c044a8fc>] (kernel_thread_exit+0x0/0x8)
i++;\r
}\r
}\r
-static spinlock_t lock_fw;\r
+\r
+static DEFINE_SPINLOCK(lock_fw);\r
static void __init spi_fpga_dlfw(unsigned char * fpga_fw, unsigned int fpga_fw_len)\r
{\r
- int ret;\r
+ //int ret;\r
unsigned long flags;\r
unsigned char command1[6] = {0x7e, 0xaa, 0x99, 0x7e, 0x01, 0x0e};\r
unsigned char command2[5] = {0x83, 0x00, 0x00, 0x26, 0x11};\r
gpio_direction_output(RK2818_PIN_PE0,1);\r
udelay(2);\r
gpio_direction_output(RK2818_PIN_PE0,0);\r
- \r
+\r
+ return 0;\r
}\r
\r