WARN_ON_ONCE(tracker->inuse);
        tracker->inuse = true;
-       spin_lock(&list->tracker_list_lock);
+       spin_lock_bh(&list->tracker_list_lock);
        list_add_tail(&tracker->entry, &list->tracker_list_head);
-       spin_unlock(&list->tracker_list_lock);
+       spin_unlock_bh(&list->tracker_list_lock);
 }
 
 static void
 
        WARN_ON_ONCE(!tracker->inuse);
        tracker->inuse = false;
-       spin_lock(&list->tracker_list_lock);
+       spin_lock_bh(&list->tracker_list_lock);
        list_del(&tracker->entry);
-       spin_unlock(&list->tracker_list_lock);
+       spin_unlock_bh(&list->tracker_list_lock);
 }
 
 void mlx5e_ptpsq_track_metadata(struct mlx5e_ptpsq *ptpsq, u8 metadata)
        struct mlx5e_ptp_metadata_map *metadata_map = &ptpsq->metadata_map;
        struct mlx5e_ptp_port_ts_cqe_tracker *pos, *n;
 
-       spin_lock(&cqe_list->tracker_list_lock);
+       spin_lock_bh(&cqe_list->tracker_list_lock);
        list_for_each_entry_safe(pos, n, &cqe_list->tracker_list_head, entry) {
                struct sk_buff *skb =
                        mlx5e_ptp_metadata_map_lookup(metadata_map, pos->metadata_id);
                pos->inuse = false;
                list_del(&pos->entry);
        }
-       spin_unlock(&cqe_list->tracker_list_lock);
+       spin_unlock_bh(&cqe_list->tracker_list_lock);
 }
 
 #define PTP_WQE_CTR2IDX(val) ((val) & ptpsq->ts_cqe_ctr_mask)