*/
        if (unlikely(!check_gpio(ident) &&
            reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
-               dump_stack();
+               if (system_state == SYSTEM_BOOTING)
+                       dump_stack();
                printk(KERN_ERR
                       "%s: Peripheral %d is already reserved as GPIO by %s !\n",
                       __func__, ident, get_label(ident));
                        if (cmp_label(ident, label) == 0)
                                goto anyway;
 
-                       dump_stack();
+                       if (system_state == SYSTEM_BOOTING)
+                               dump_stack();
                        printk(KERN_ERR
                               "%s: Peripheral %d function %d is already reserved by %s !\n",
                               __func__, ident, P_FUNCT2MUX(per), get_label(ident));
        }
 
        if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
-               dump_stack();
+               if (system_state == SYSTEM_BOOTING)
+                       dump_stack();
                printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n",
                       gpio, get_label(gpio));
                local_irq_restore_hw(flags);
                return -EBUSY;
        }
        if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
-               dump_stack();
+               if (system_state == SYSTEM_BOOTING)
+                       dump_stack();
                printk(KERN_ERR
                       "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n",
                       gpio, get_label(gpio));
        local_irq_save_hw(flags);
 
        if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) {
-               dump_stack();
+               if (system_state == SYSTEM_BOOTING)
+                       dump_stack();
                gpio_error(gpio);
                local_irq_restore_hw(flags);
                return;
        local_irq_save_hw(flags);
 
        if (unlikely(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
-               dump_stack();
+               if (system_state == SYSTEM_BOOTING)
+                       dump_stack();
                printk(KERN_ERR
                       "bfin-gpio: GPIO %d is already reserved as gpio-irq !\n",
                       gpio);
                return -EBUSY;
        }
        if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
-               dump_stack();
+               if (system_state == SYSTEM_BOOTING)
+                       dump_stack();
                printk(KERN_ERR
                       "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n",
                       gpio, get_label(gpio));
        local_irq_save_hw(flags);
 
        if (unlikely(!(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio)))) {
-               dump_stack();
+               if (system_state == SYSTEM_BOOTING)
+                       dump_stack();
                gpio_error(gpio);
                local_irq_restore_hw(flags);
                return;