struct bpf_htab {
        struct bpf_map map;
        struct hlist_head *buckets;
-       spinlock_t lock;
+       raw_spinlock_t lock;
        u32 count;      /* number of elements in this hashtable */
        u32 n_buckets;  /* number of hash buckets */
        u32 elem_size;  /* size of each element in bytes */
        for (i = 0; i < htab->n_buckets; i++)
                INIT_HLIST_HEAD(&htab->buckets[i]);
 
-       spin_lock_init(&htab->lock);
+       raw_spin_lock_init(&htab->lock);
        htab->count = 0;
 
        htab->elem_size = sizeof(struct htab_elem) +
        l_new->hash = htab_map_hash(l_new->key, key_size);
 
        /* bpf_map_update_elem() can be called in_irq() */
-       spin_lock_irqsave(&htab->lock, flags);
+       raw_spin_lock_irqsave(&htab->lock, flags);
 
        head = select_bucket(htab, l_new->hash);
 
        } else {
                htab->count++;
        }
-       spin_unlock_irqrestore(&htab->lock, flags);
+       raw_spin_unlock_irqrestore(&htab->lock, flags);
 
        return 0;
 err:
-       spin_unlock_irqrestore(&htab->lock, flags);
+       raw_spin_unlock_irqrestore(&htab->lock, flags);
        kfree(l_new);
        return ret;
 }
 
        hash = htab_map_hash(key, key_size);
 
-       spin_lock_irqsave(&htab->lock, flags);
+       raw_spin_lock_irqsave(&htab->lock, flags);
 
        head = select_bucket(htab, hash);
 
                ret = 0;
        }
 
-       spin_unlock_irqrestore(&htab->lock, flags);
+       raw_spin_unlock_irqrestore(&htab->lock, flags);
        return ret;
 }