Commit f85c4abd authored by Mike Frysinger's avatar Mike Frysinger Committed by Bryan Wu

[Blackfin] arch: dump the stack before printing out an error otherwise the...

[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: default avatarMike Frysinger <vapier.adi@gmail.com>
Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
parent 793dc27b
...@@ -821,10 +821,10 @@ int peripheral_request(unsigned short per, const char *label) ...@@ -821,10 +821,10 @@ int peripheral_request(unsigned short per, const char *label)
local_irq_save(flags); local_irq_save(flags);
if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
dump_stack();
printk(KERN_ERR printk(KERN_ERR
"%s: Peripheral %d is already reserved as GPIO by %s !\n", "%s: Peripheral %d is already reserved as GPIO by %s !\n",
__FUNCTION__, ident, get_label(ident)); __FUNCTION__, ident, get_label(ident));
dump_stack();
local_irq_restore(flags); local_irq_restore(flags);
return -EBUSY; return -EBUSY;
} }
...@@ -848,10 +848,10 @@ int peripheral_request(unsigned short per, const char *label) ...@@ -848,10 +848,10 @@ int peripheral_request(unsigned short per, const char *label)
if (cmp_label(ident, label) == 0) if (cmp_label(ident, label) == 0)
goto anyway; goto anyway;
dump_stack();
printk(KERN_ERR printk(KERN_ERR
"%s: Peripheral %d function %d is already reserved by %s !\n", "%s: Peripheral %d function %d is already reserved by %s !\n",
__FUNCTION__, ident, P_FUNCT2MUX(per), get_label(ident)); __FUNCTION__, ident, P_FUNCT2MUX(per), get_label(ident));
dump_stack();
local_irq_restore(flags); local_irq_restore(flags);
return -EBUSY; return -EBUSY;
} }
...@@ -891,10 +891,10 @@ int peripheral_request(unsigned short per, const char *label) ...@@ -891,10 +891,10 @@ int peripheral_request(unsigned short per, const char *label)
if (!check_gpio(ident)) { if (!check_gpio(ident)) {
if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
dump_stack();
printk(KERN_ERR printk(KERN_ERR
"%s: Peripheral %d is already reserved as GPIO by %s !\n", "%s: Peripheral %d is already reserved as GPIO by %s !\n",
__FUNCTION__, ident, get_label(ident)); __FUNCTION__, ident, get_label(ident));
dump_stack();
local_irq_restore(flags); local_irq_restore(flags);
return -EBUSY; return -EBUSY;
} }
...@@ -918,12 +918,12 @@ int peripheral_request(unsigned short per, const char *label) ...@@ -918,12 +918,12 @@ int peripheral_request(unsigned short per, const char *label)
if (cmp_label(ident, label) == 0) if (cmp_label(ident, label) == 0)
goto anyway; goto anyway;
dump_stack();
printk(KERN_ERR printk(KERN_ERR
"%s: Peripheral %d function %d is already" "%s: Peripheral %d function %d is already"
" reserved by %s !\n", " reserved by %s !\n",
__FUNCTION__, ident, P_FUNCT2MUX(per), __FUNCTION__, ident, P_FUNCT2MUX(per),
get_label(ident)); get_label(ident));
dump_stack();
local_irq_restore(flags); local_irq_restore(flags);
return -EBUSY; return -EBUSY;
} }
...@@ -1046,17 +1046,17 @@ int gpio_request(unsigned gpio, const char *label) ...@@ -1046,17 +1046,17 @@ int gpio_request(unsigned gpio, const char *label)
} }
if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
dump_stack();
printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n",
gpio, get_label(gpio)); gpio, get_label(gpio));
dump_stack();
local_irq_restore(flags); local_irq_restore(flags);
return -EBUSY; return -EBUSY;
} }
if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
dump_stack();
printk(KERN_ERR printk(KERN_ERR
"bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n",
gpio, get_label(gpio)); gpio, get_label(gpio));
dump_stack();
local_irq_restore(flags); local_irq_restore(flags);
return -EBUSY; return -EBUSY;
} }
...@@ -1082,8 +1082,8 @@ void gpio_free(unsigned gpio) ...@@ -1082,8 +1082,8 @@ void gpio_free(unsigned gpio)
local_irq_save(flags); local_irq_save(flags);
if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) {
gpio_error(gpio);
dump_stack(); dump_stack();
gpio_error(gpio);
local_irq_restore(flags); local_irq_restore(flags);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment