[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.2-144-gdb099b6
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2013-01-31 13:21:46
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via db099b61dd19764b089e442a8a4aee528d8cb4ff (commit)
via f4c7afb951874dcd25f47e8c1a2f2f85df74fba2 (commit)
via 3053e15d240b928676364265feb6510d59c19469 (commit)
from 399f87de9f61b4cd37e8de289a72865ee35e8cde (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit db099b61dd19764b089e442a8a4aee528d8cb4ff
Author: Julien Boibessot <jul...@ar...>
Date: Thu Jan 31 10:34:09 2013 +0100
[LINUX] 3.7: 3.7.5 is out so move to it
commit f4c7afb951874dcd25f47e8c1a2f2f85df74fba2
Author: Julien Boibessot <jul...@ar...>
Date: Thu Jan 31 10:19:25 2013 +0100
[TEST] Makes test_wifi.sh a little more generic
commit 3053e15d240b928676364265feb6510d59c19469
Author: Julien Boibessot <jul...@ar...>
Date: Thu Jan 31 10:18:51 2013 +0100
[LINUX] 3.7: APF27: fixes kernel oops when rebooting after LCD timed out
-----------------------------------------------------------------------
Summary of changes:
...linux-3.7.4.config => apf27-linux-3.7.5.config} | 0
...linux-3.7.4.config => apf28-linux-3.7.5.config} | 0
...nux-3.7.4.config => apf9328-linux-3.7.5.config} | 0
patches/linux/{3.7.4 => 3.7.5} | 0
...escale-video-imxfb-Do-not-crash-on-reboot.patch | 101 ++++++++++++++++++++
target/test/test_wifi.sh | 31 ++++---
6 files changed, 119 insertions(+), 13 deletions(-)
rename buildroot/target/device/armadeus/apf27/{apf27-linux-3.7.4.config => apf27-linux-3.7.5.config} (100%)
rename buildroot/target/device/armadeus/apf28/{apf28-linux-3.7.4.config => apf28-linux-3.7.5.config} (100%)
rename buildroot/target/device/armadeus/apf9328/{apf9328-linux-3.7.4.config => apf9328-linux-3.7.5.config} (100%)
rename patches/linux/{3.7.4 => 3.7.5} (100%)
create mode 100644 patches/linux/3.7/0442-freescale-video-imxfb-Do-not-crash-on-reboot.patch
diff --git a/buildroot/target/device/armadeus/apf27/apf27-linux-3.7.4.config b/buildroot/target/device/armadeus/apf27/apf27-linux-3.7.5.config
similarity index 100%
rename from buildroot/target/device/armadeus/apf27/apf27-linux-3.7.4.config
rename to buildroot/target/device/armadeus/apf27/apf27-linux-3.7.5.config
diff --git a/buildroot/target/device/armadeus/apf28/apf28-linux-3.7.4.config b/buildroot/target/device/armadeus/apf28/apf28-linux-3.7.5.config
similarity index 100%
rename from buildroot/target/device/armadeus/apf28/apf28-linux-3.7.4.config
rename to buildroot/target/device/armadeus/apf28/apf28-linux-3.7.5.config
diff --git a/buildroot/target/device/armadeus/apf9328/apf9328-linux-3.7.4.config b/buildroot/target/device/armadeus/apf9328/apf9328-linux-3.7.5.config
similarity index 100%
rename from buildroot/target/device/armadeus/apf9328/apf9328-linux-3.7.4.config
rename to buildroot/target/device/armadeus/apf9328/apf9328-linux-3.7.5.config
diff --git a/patches/linux/3.7.4 b/patches/linux/3.7.5
similarity index 100%
rename from patches/linux/3.7.4
rename to patches/linux/3.7.5
diff --git a/patches/linux/3.7/0442-freescale-video-imxfb-Do-not-crash-on-reboot.patch b/patches/linux/3.7/0442-freescale-video-imxfb-Do-not-crash-on-reboot.patch
new file mode 100644
index 0000000..764c2fa
--- /dev/null
+++ b/patches/linux/3.7/0442-freescale-video-imxfb-Do-not-crash-on-reboot.patch
@@ -0,0 +1,101 @@
+From e6b267ce14f61d9da0151b97ee26ab4d38055567 Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <fab...@fr...>
+Date: Wed, 16 Jan 2013 10:58:41 -0200
+Subject: [PATCH] video: imxfb: Do not crash on reboot
+
+Issuing a "reboot" command after the LCD times out causes the following
+warnings:
+
+Requesting system reboot
+------------[ cut here ]------------
+WARNING: at drivers/clk/clk.c:471 clk_disable+0x24/0x50()
+Modules linked in:
+[<c001ad90>] (unwind_backtrace+0x0/0xf4) from [<c0025aac>] (warn_slowpath_common+0x48/0x60)
+[<c0025aac>] (warn_slowpath_common+0x48/0x60) from [<c0025ae0>] (warn_slowpath_null+0x1c/0x24)
+[<c0025ae0>] (warn_slowpath_null+0x1c/0x24) from [<c03960a0>] (clk_disable+0x24/0x50)
+[<c03960a0>] (clk_disable+0x24/0x50) from [<c02695a0>] (imxfb_disable_controller+0x48/0x7c)
+[<c02695a0>] (imxfb_disable_controller+0x48/0x7c) from [<c029d838>] (platform_drv_shutdown+0x18/0x1c)
+[<c029d838>] (platform_drv_shutdown+0x18/0x1c) from [<c02990fc>] (device_shutdown+0x48/0x14c)
+[<c02990fc>] (device_shutdown+0x48/0x14c) from [<c003d09c>] (kernel_restart_prepare+0x2c/0x3c)
+[<c003d09c>] (kernel_restart_prepare+0x2c/0x3c) from [<c003d0e4>] (kernel_restart+0xc/0x48)
+[<c003d0e4>] (kernel_restart+0xc/0x48) from [<c003d1e8>] (sys_reboot+0xc0/0x1bc)
+[<c003d1e8>] (sys_reboot+0xc0/0x1bc) from [<c0014ca0>] (ret_fast_syscall+0x0/0x2c)
+---[ end trace da6b502ca79c854f ]---
+------------[ cut here ]------------
+WARNING: at drivers/clk/clk.c:380 clk_unprepare+0x1c/0x2c()
+Modules linked in:
+[<c001ad90>] (unwind_backtrace+0x0/0xf4) from [<c0025aac>] (warn_slowpath_common+0x48/0x60)
+[<c0025aac>] (warn_slowpath_common+0x48/0x60) from [<c0025ae0>] (warn_slowpath_null+0x1c/0x24)
+[<c0025ae0>] (warn_slowpath_null+0x1c/0x24) from [<c0396338>] (clk_unprepare+0x1c/0x2c)
+[<c0396338>] (clk_unprepare+0x1c/0x2c) from [<c02695a8>] (imxfb_disable_controller+0x50/0x7c)
+[<c02695a8>] (imxfb_disable_controller+0x50/0x7c) from [<c029d838>] (platform_drv_shutdown+0x18/0x1c)
+[<c029d838>] (platform_drv_shutdown+0x18/0x1c) from [<c02990fc>] (device_shutdown+0x48/0x14c)
+[<c02990fc>] (device_shutdown+0x48/0x14c) from [<c003d09c>] (kernel_restart_prepare+0x2c/0x3c)
+[<c003d09c>] (kernel_restart_prepare+0x2c/0x3c) from [<c003d0e4>] (kernel_restart+0xc/0x48)
+[<c003d0e4>] (kernel_restart+0xc/0x48) from [<c003d1e8>] (sys_reboot+0xc0/0x1bc)
+[<c003d1e8>] (sys_reboot+0xc0/0x1bc) from [<c0014ca0>] (ret_fast_syscall+0x0/0x2c)
+---[ end trace da6b502ca79c8550 ]---
+------------[ cut here ]------------
+
+This happens because "reboot" triggers imxfb_shutdown(), which calls
+imxfb_disable_controller with the clocks already disabled.
+
+To prevent this, add a clock enabled status so that we can check if the clocks
+are enabled before disabling them.
+
+Acked-by: Sascha Hauer <s....@pe...>
+Signed-off-by: Fabio Estevam <fab...@fr...>
+Signed-off-by: Shawn Guo <sha...@li...>
+---
+ drivers/video/imxfb.c | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+Index: linux-3.7.4/drivers/video/imxfb.c
+===================================================================
+--- linux-3.7.4.orig/drivers/video/imxfb.c 2013-01-30 22:53:27.000000000 +0100
++++ linux-3.7.4/drivers/video/imxfb.c 2013-01-31 09:00:57.000000000 +0100
+@@ -134,6 +134,7 @@
+ struct clk *clk_ipg;
+ struct clk *clk_ahb;
+ struct clk *clk_per;
++ bool enabled;
+
+ /*
+ * These are the addresses we mapped
+@@ -514,6 +515,10 @@
+
+ static void imxfb_enable_controller(struct imxfb_info *fbi)
+ {
++
++ if (fbi->enabled)
++ return;
++
+ pr_debug("Enabling LCD controller\n");
+
+ writel(fbi->screen_dma, fbi->regs + LCDC_SSA);
+@@ -534,6 +539,7 @@
+ clk_prepare_enable(fbi->clk_ipg);
+ clk_prepare_enable(fbi->clk_ahb);
+ clk_prepare_enable(fbi->clk_per);
++ fbi->enabled = true;
+
+ if (fbi->backlight_power)
+ fbi->backlight_power(1);
+@@ -543,6 +549,9 @@
+
+ static void imxfb_disable_controller(struct imxfb_info *fbi)
+ {
++ if (!fbi->enabled)
++ return;
++
+ pr_debug("Disabling LCD controller\n");
+
+ if (fbi->backlight_power)
+@@ -553,6 +562,7 @@
+ clk_disable_unprepare(fbi->clk_per);
+ clk_disable_unprepare(fbi->clk_ipg);
+ clk_disable_unprepare(fbi->clk_ahb);
++ fbi->enabled = false;
+
+ writel(0, fbi->regs + LCDC_RMCR);
+ }
diff --git a/target/test/test_wifi.sh b/target/test/test_wifi.sh
index 1423d1f..e6d86ab 100755
--- a/target/test/test_wifi.sh
+++ b/target/test/test_wifi.sh
@@ -3,7 +3,7 @@
#
# Script to test Armadeus Software release
#
-# Copyright (C) 2010-2012 The Armadeus Project - Armadeus systems
+# Copyright (C) 2010-2013 The Armadeus Project - Armadeus systems
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -37,24 +37,29 @@ test_wifi()
ask_user "This test assumes that you run a private WiFi network (WEP shared key security). Your Access Point (AP) should be connected to your Host. Press ENTER to continue"
- ask_user "Do you have an APW wireless extension board or an APF51Dev ? (Y/n)"
- if [ "$response" == "n" ] || [ "$response" == "no" ]; then
- echo "Currently, only the APW & the APF51Dev are supported by this test !!"
- exit_failed
- fi
+ if [ "$1" == "" ]; then
+ ask_user "Do you have an APW wireless extension board or an APF51Dev ? (Y/n)"
+ if [ "$response" == "n" ] || [ "$response" == "no" ]; then
+ echo "Currently, only the APW & the APF51Dev are supported by this test !!"
+ exit_failed
+ fi
- modprobe libertas_sdio
- if [ "$?" != 0 ]; then
- echo "Failed to load Libertas driver !!"
- exit_failed
+ modprobe libertas_sdio
+ if [ "$?" != 0 ]; then
+ echo "Failed to load Libertas driver !!"
+ exit_failed
+ fi
+ execute_for_target get_interface_name
+ else
+ WLAN_IF=$1
fi
- execute_for_target get_interface_name
+
ifconfig $WLAN_IF up
if [ "$?" != 0 ]; then
echo "WLAN interface not available !!"
exit_failed
fi
- #ifconfig eth0 down
+ #ifconfig eth0 down # if connected to same network eth0 can perturbate the test
# get available APs (remove hidden one)
echo -e "\n Scanning available APs"
@@ -107,5 +112,5 @@ test_wifi()
exit 0
}
-test_wifi
+test_wifi $1
hooks/post-receive
--
armadeus
|