From 683b72fd0d38f7c65e789e8b2cff782d20253f96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B6=9B?= Date: Sat, 19 Nov 2011 17:46:31 +0800 Subject: [PATCH 1/2] mmc: rk29: fix NULL dereference in rk29_sdmmc_set_frq fix this bug: Unable to handle kernel NULL pointer dereference at virtual address 000000d0 pgd = c0404000 [000000d0] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT CPU: 0 Not tainted (3.0.8+ #5) PC is at rk29_sdmmc_set_frq+0x28/0x6c LR is at rk29_sdmmc_set_frq+0x10/0x6c pc : [] lr : [] psr: 80000093 sp : d53c9e28 ip : ffff8b5d fp : c0aae32c r10: 00000000 r9 : d53a24d0 r8 : ffff8b5c r7 : 60000013 r6 : 00002041 r5 : d53c9ed8 r4 : d53bc280 r3 : 00000000 r2 : 00000000 r1 : d53c9ed8 r0 : d53bc000 [] (rk29_sdmmc_set_frq+0x28/0x6c) from [] (rk29_sdmmc_start_command+0x58/0x120) [] (rk29_sdmmc_start_command+0x58/0x120) from [] (rk29_sdmmc_request+0x590/0x704) [] (rk29_sdmmc_request+0x590/0x704) from [] (mmc_wait_for_req+0x110/0x214) [] (mmc_wait_for_req+0x110/0x214) from [] (mmc_wait_for_cmd+0x64/0x74) [] (mmc_wait_for_cmd+0x64/0x74) from [] (mmc_send_op_cond+0x74/0xe0) [] (mmc_send_op_cond+0x74/0xe0) from [] (mmc_attach_mmc+0x40/0x1f0) [] (mmc_attach_mmc+0x40/0x1f0) from [] (mmc_rescan+0x344/0x3c8) [] (mmc_rescan+0x344/0x3c8) from [] (process_one_work+0x258/0x3ac) [] (process_one_work+0x258/0x3ac) from [] (worker_thread+0x238/0x440) [] (worker_thread+0x238/0x440) from [] (kthread+0x80/0x88) [] (kthread+0x80/0x88) from [] (kernel_thread_exit+0x0/0x8) --- drivers/mmc/host/rk29_sdmmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/host/rk29_sdmmc.c b/drivers/mmc/host/rk29_sdmmc.c index ae92103ddb65..7d2e6c01df7d 100755 --- a/drivers/mmc/host/rk29_sdmmc.c +++ b/drivers/mmc/host/rk29_sdmmc.c @@ -696,7 +696,7 @@ void rk29_sdmmc_set_frq(struct rk29_sdmmc *host) card = (struct mmc_card *)mmchost->card; ios = ( struct mmc_ios *)&mmchost->ios; - if(!card && !ios) + if(!card || !ios) return; if(MMC_POWER_ON == ios->power_mode) From 89d95b673f30758356a47995fb0472067b7a47db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B6=9B?= Date: Sat, 19 Nov 2011 17:57:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Revert=20"=E8=B0=83=E6=95=B4gsensor=20?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E6=95=B0=E6=8D=AE=20for=20K97"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit a43d8fc5ff3f126ddcabd71ff0b6cb0591d3115d. --- drivers/input/gsensor/mma8452.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/input/gsensor/mma8452.c b/drivers/input/gsensor/mma8452.c index 7787869ef5f2..1b2247062026 100755 --- a/drivers/input/gsensor/mma8452.c +++ b/drivers/input/gsensor/mma8452.c @@ -345,15 +345,9 @@ static void mma8452_report_value(struct i2c_client *client, struct mma8452_axis //struct mma8452_axis *axis = (struct mma8452_axis *)rbuf; /* Report acceleration sensor information */ - #ifdef CONFIG_MACH_RK29_K97 - input_report_abs(mma8452->input_dev, ABS_X, axis->y); - input_report_abs(mma8452->input_dev, ABS_Y, axis->x); - input_report_abs(mma8452->input_dev, ABS_Z, -axis->z); - #else input_report_abs(mma8452->input_dev, ABS_X, axis->x); input_report_abs(mma8452->input_dev, ABS_Y, axis->y); input_report_abs(mma8452->input_dev, ABS_Z, axis->z); - #endif input_sync(mma8452->input_dev); mmaprintkd("Gsensor x==%d y==%d z==%d\n",axis->x,axis->y,axis->z); }