gfp_t alloc_flags, bool can_alloc)
 {
        struct stack_record *found = NULL, **bucket;
-       union handle_parts retval = { .handle = 0 };
+       depot_stack_handle_t handle = 0;
        struct page *page = NULL;
        void *prealloc = NULL;
        unsigned long flags;
        nr_entries = filter_irq_stacks(entries, nr_entries);
 
        if (unlikely(nr_entries == 0) || stack_depot_disabled)
-               goto fast_exit;
+               return 0;
 
        hash = hash_stack(entries, nr_entries);
        bucket = &stack_table[hash & stack_hash_mask];
                free_pages((unsigned long)prealloc, DEPOT_POOL_ORDER);
        }
        if (found)
-               retval.handle = found->handle.handle;
-fast_exit:
-       return retval.handle;
+               handle = found->handle.handle;
+       return handle;
 }
 EXPORT_SYMBOL_GPL(__stack_depot_save);