Search Linux Wireless

Re: [PATCH v7 2/4] ath9k: always call ath_reset from workqueue context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 30, 2011 at 12:14 PM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
> On 2011-08-30 8:20 AM, Mohammed Shafi wrote:
>>
>> On Tue, Aug 30, 2011 at 11:39 AM, Felix Fietkau<nbd@xxxxxxxxxxx>  wrote:
>>>
>>>  On 2011-08-30 7:57 AM, Mohammed Shafi wrote:
>>>>
>>>>  On Tue, Aug 30, 2011 at 12:10 AM, Felix Fietkau<nbd@xxxxxxxxxxx>
>>>>  wrote:
>>>>>
>>>>>   This makes it much easier to add further rework to avoid race
>>>>> conditions
>>>>>   between reset and other work items.
>>>>>   Move other functions to make ath_reset static.
>>>>>
>>>>>   Signed-off-by: Felix Fietkau<nbd@xxxxxxxxxxx>
>>>>>   ---
>>>>>    drivers/net/wireless/ath/ath9k/ath9k.h  |    3 +-
>>>>>    drivers/net/wireless/ath/ath9k/beacon.c |    4 +-
>>>>>    drivers/net/wireless/ath/ath9k/init.c   |    1 +
>>>>>    drivers/net/wireless/ath/ath9k/main.c   |  152
>>>>>  ++++++++++++++++---------------
>>>>>    drivers/net/wireless/ath/ath9k/xmit.c   |    6 +-
>>>>>    5 files changed, 86 insertions(+), 80 deletions(-)
>>>>>
>>>>>   diff --git a/drivers/net/wireless/ath/ath9k/xmit.c
>>>>>  b/drivers/net/wireless/ath/ath9k/xmit.c
>>>>>   index 49b93c2..f60706b 100644
>>>>>   --- a/drivers/net/wireless/ath/ath9k/xmit.c
>>>>>   +++ b/drivers/net/wireless/ath/ath9k/xmit.c
>>>>>   @@ -582,7 +582,7 @@ static void ath_tx_complete_aggr(struct ath_softc
>>>>>  *sc, struct ath_txq *txq,
>>>>>          rcu_read_unlock();
>>>>>
>>>>>          if (needreset)
>>>>>   -               ath_reset(sc, false);
>>>>>   +               ieee80211_queue_work(sc->hw,&sc->hw_reset_work);
>>>>
>>>>  Hi Felix,
>>>>
>>>>  retry_tx is set to 'false' in ath_reset here, but ath_reset_work
>>>>  always has it true. had i missed some thing?
>>>
>>>  Since the reset work is deferred now, it can be allowed to retry tx now
>>>  instead of dropping all packets in the queue.
>>
>> oh ok, in this path we need reset when the chip becomes deaf/mute(as
>> mentioned  in the comment),
>> so i am not sure retrying tx will help rather than doing immediate
>> reset of the chip.
>> thanks.
>
> Well, tx will be retried only after the full reset, so it should be fine.
> I'll make sure the next version will bail out of the tx completion tasklet
> when a reset is necessary, so that the reset can run right away.

oh ok, i did not know it, i thought the other way around. thanks.

>
> - Felix
>



-- 
shafi
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux