[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>
This commit is contained in:
parent
793dc27b51
commit
f85c4abdbc
@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user