2009-06-22 16:23:41

by Jiri Slaby

[permalink] [raw]
Subject: ath9k: ath9k_ps_restore used after ath9k_hw_detach

Hi,

In ath_detach, there is:
ath9k_hw_detach(sc->sc_ah);
ath9k_exit_debug(sc);
ath9k_ps_restore(sc);
which is obviously wrong. sc->ah is dereferenced in restore, but it's
already freed since detach.

I don't quite understand why you try to set power while it's being
already set to full sleep in ath9k_hw_detach. So I think the fix is to
remove the restore call, but dunno. So please fix it anyhow :).


Subject: Re: ath9k: ath9k_ps_restore used after ath9k_hw_detach

On Mon, Jun 22, 2009 at 09:53:43PM +0530, Jiri Slaby wrote:
> Hi,
>
> In ath_detach, there is:
> ath9k_hw_detach(sc->sc_ah);
> ath9k_exit_debug(sc);
> ath9k_ps_restore(sc);
> which is obviously wrong. sc->ah is dereferenced in restore, but it's
> already freed since detach.

Yes, this is wrong.
>
> I don't quite understand why you try to set power while it's being
> already set to full sleep in ath9k_hw_detach.
>So I think the fix is to
> remove the restore call.

Yes, restoring the power state in ath_detach() is pointless.

I'll fix it,Thanks!.

Vasanth