diff options
author | Mike Frysinger <vapier.adi@gmail.com> | 2008-03-25 20:34:23 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-03-25 20:34:23 -0400 |
commit | f85c4abdbc24ede9978073375bee12980cf852b2 (patch) | |
tree | 6b2c23d30cbddaa12db2368aad7596525695c8ef /arch/blackfin/kernel/bfin_gpio.c | |
parent | 793dc27b51b2ffff95b72408e2ef44e0995c185b (diff) |
[Blackfin] arch: dump the stack before printing out an error otherwise the stack dump is useless as it shows us tracing through printk
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/kernel/bfin_gpio.c')
-rw-r--r-- | arch/blackfin/kernel/bfin_gpio.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c index 08788f7bbfba..a09dc48050b4 100644 --- a/arch/blackfin/kernel/bfin_gpio.c +++ b/arch/blackfin/kernel/bfin_gpio.c | |||
@@ -821,10 +821,10 @@ int peripheral_request(unsigned short per, const char *label) | |||
821 | local_irq_save(flags); | 821 | local_irq_save(flags); |
822 | 822 | ||
823 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { | 823 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { |
824 | dump_stack(); | ||
824 | printk(KERN_ERR | 825 | printk(KERN_ERR |
825 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", | 826 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", |
826 | __FUNCTION__, ident, get_label(ident)); | 827 | __FUNCTION__, ident, get_label(ident)); |
827 | dump_stack(); | ||
828 | local_irq_restore(flags); | 828 | local_irq_restore(flags); |
829 | return -EBUSY; | 829 | return -EBUSY; |
830 | } | 830 | } |
@@ -848,10 +848,10 @@ int peripheral_request(unsigned short per, const char *label) | |||
848 | if (cmp_label(ident, label) == 0) | 848 | if (cmp_label(ident, label) == 0) |
849 | goto anyway; | 849 | goto anyway; |
850 | 850 | ||
851 | dump_stack(); | ||
851 | printk(KERN_ERR | 852 | printk(KERN_ERR |
852 | "%s: Peripheral %d function %d is already reserved by %s !\n", | 853 | "%s: Peripheral %d function %d is already reserved by %s !\n", |
853 | __FUNCTION__, ident, P_FUNCT2MUX(per), get_label(ident)); | 854 | __FUNCTION__, ident, P_FUNCT2MUX(per), get_label(ident)); |
854 | dump_stack(); | ||
855 | local_irq_restore(flags); | 855 | local_irq_restore(flags); |
856 | return -EBUSY; | 856 | return -EBUSY; |
857 | } | 857 | } |
@@ -891,10 +891,10 @@ int peripheral_request(unsigned short per, const char *label) | |||
891 | if (!check_gpio(ident)) { | 891 | if (!check_gpio(ident)) { |
892 | 892 | ||
893 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { | 893 | if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { |
894 | dump_stack(); | ||
894 | printk(KERN_ERR | 895 | printk(KERN_ERR |
895 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", | 896 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", |
896 | __FUNCTION__, ident, get_label(ident)); | 897 | __FUNCTION__, ident, get_label(ident)); |
897 | dump_stack(); | ||
898 | local_irq_restore(flags); | 898 | local_irq_restore(flags); |
899 | return -EBUSY; | 899 | return -EBUSY; |
900 | } | 900 | } |
@@ -918,12 +918,12 @@ int peripheral_request(unsigned short per, const char *label) | |||
918 | if (cmp_label(ident, label) == 0) | 918 | if (cmp_label(ident, label) == 0) |
919 | goto anyway; | 919 | goto anyway; |
920 | 920 | ||
921 | dump_stack(); | ||
921 | printk(KERN_ERR | 922 | printk(KERN_ERR |
922 | "%s: Peripheral %d function %d is already" | 923 | "%s: Peripheral %d function %d is already" |
923 | " reserved by %s !\n", | 924 | " reserved by %s !\n", |
924 | __FUNCTION__, ident, P_FUNCT2MUX(per), | 925 | __FUNCTION__, ident, P_FUNCT2MUX(per), |
925 | get_label(ident)); | 926 | get_label(ident)); |
926 | dump_stack(); | ||
927 | local_irq_restore(flags); | 927 | local_irq_restore(flags); |
928 | return -EBUSY; | 928 | return -EBUSY; |
929 | } | 929 | } |
@@ -1046,17 +1046,17 @@ int gpio_request(unsigned gpio, const char *label) | |||
1046 | } | 1046 | } |
1047 | 1047 | ||
1048 | if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 1048 | if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
1049 | dump_stack(); | ||
1049 | printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", | 1050 | printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", |
1050 | gpio, get_label(gpio)); | 1051 | gpio, get_label(gpio)); |
1051 | dump_stack(); | ||
1052 | local_irq_restore(flags); | 1052 | local_irq_restore(flags); |
1053 | return -EBUSY; | 1053 | return -EBUSY; |
1054 | } | 1054 | } |
1055 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 1055 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
1056 | dump_stack(); | ||
1056 | printk(KERN_ERR | 1057 | printk(KERN_ERR |
1057 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", | 1058 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", |
1058 | gpio, get_label(gpio)); | 1059 | gpio, get_label(gpio)); |
1059 | dump_stack(); | ||
1060 | local_irq_restore(flags); | 1060 | local_irq_restore(flags); |
1061 | return -EBUSY; | 1061 | return -EBUSY; |
1062 | } | 1062 | } |
@@ -1082,8 +1082,8 @@ void gpio_free(unsigned gpio) | |||
1082 | local_irq_save(flags); | 1082 | local_irq_save(flags); |
1083 | 1083 | ||
1084 | if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { | 1084 | if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { |
1085 | gpio_error(gpio); | ||
1086 | dump_stack(); | 1085 | dump_stack(); |
1086 | gpio_error(gpio); | ||
1087 | local_irq_restore(flags); | 1087 | local_irq_restore(flags); |
1088 | return; | 1088 | return; |
1089 | } | 1089 | } |