{
        struct ath_softc *sc = (struct ath_softc *) data;
        struct ath_btcoex_info *btinfo = &sc->btcoex_info;
-       unsigned long flags;
 
        ath_detect_bt_priority(sc);
 
-       spin_lock_irqsave(&btinfo->btcoex_lock, flags);
+       spin_lock_bh(&btinfo->btcoex_lock);
 
        ath_btcoex_bt_stomp(sc, btinfo, btinfo->bt_stomp_type);
 
-       spin_unlock_irqrestore(&btinfo->btcoex_lock, flags);
+       spin_unlock_bh(&btinfo->btcoex_lock);
 
        if (btinfo->btcoex_period != btinfo->btcoex_no_stomp) {
                if (btinfo->hw_timer_enabled)
 {
        struct ath_softc *sc = (struct ath_softc *)arg;
        struct ath_btcoex_info *btinfo = &sc->btcoex_info;
-       unsigned long flags;
 
        DPRINTF(sc, ATH_DBG_BTCOEX, "no stomp timer running \n");
 
-       spin_lock_irqsave(&btinfo->btcoex_lock, flags);
+       spin_lock_bh(&btinfo->btcoex_lock);
 
        if (btinfo->bt_stomp_type == ATH_BTCOEX_STOMP_LOW)
                ath_btcoex_bt_stomp(sc, btinfo, ATH_BTCOEX_STOMP_NONE);
         else if (btinfo->bt_stomp_type == ATH_BTCOEX_STOMP_ALL)
                ath_btcoex_bt_stomp(sc, btinfo, ATH_BTCOEX_STOMP_LOW);
 
-       spin_unlock_irqrestore(&btinfo->btcoex_lock, flags);
+       spin_unlock_bh(&btinfo->btcoex_lock);
 }
 
 static int ath_init_btcoex_info(struct ath_hw *hw,