Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea22df29 authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville
Browse files

ath9k: Add a routine to tear down channel contexts

parent 705d0bf8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -437,6 +437,7 @@ void ath_roc_complete(struct ath_softc *sc, bool abort);
bool ath9k_is_chanctx_enabled(void);
void ath9k_fill_chanctx_ops(void);
void ath9k_init_channel_context(struct ath_softc *sc);
void ath9k_deinit_channel_context(struct ath_softc *sc);
int ath9k_init_p2p(struct ath_softc *sc);
void ath9k_deinit_p2p(struct ath_softc *sc);
void ath9k_p2p_remove_vif(struct ath_softc *sc,
@@ -456,6 +457,9 @@ static inline void ath9k_fill_chanctx_ops(void)
static inline void ath9k_init_channel_context(struct ath_softc *sc)
{
}
static inline void ath9k_deinit_channel_context(struct ath_softc *sc)
{
}
static inline int ath9k_init_p2p(struct ath_softc *sc)
{
	return 0;
+5 −0
Original line number Diff line number Diff line
@@ -959,6 +959,11 @@ void ath9k_init_channel_context(struct ath_softc *sc)
		    (unsigned long)sc);
}

void ath9k_deinit_channel_context(struct ath_softc *sc)
{
	cancel_work_sync(&sc->chanctx_work);
}

bool ath9k_is_chanctx_enabled(void)
{
	return (ath9k_use_chanctx == 1);
+2 −1
Original line number Diff line number Diff line
@@ -822,7 +822,8 @@ static void ath9k_stop(struct ieee80211_hw *hw)
	struct ath_common *common = ath9k_hw_common(ah);
	bool prev_idle;

	cancel_work_sync(&sc->chanctx_work);
	ath9k_deinit_channel_context(sc);

	mutex_lock(&sc->mutex);

	ath_cancel_work(sc);
+2 −1
Original line number Diff line number Diff line
@@ -193,7 +193,8 @@ int ath9k_suspend(struct ieee80211_hw *hw,
	u32 wow_triggers_enabled = 0;
	int ret = 0;

	cancel_work_sync(&sc->chanctx_work);
	ath9k_deinit_channel_context(sc);

	mutex_lock(&sc->mutex);

	ath_cancel_work(sc);