Search Linux Wireless

Re: [PATCH 2/5] ath10k: dont reset the chip on hif_stop

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

 



On 7 August 2014 11:05, Michal Kazior <michal.kazior@xxxxxxxxx> wrote:
> The copy engine structures are never changed until
> driver unregisters the device so it is not
> necessary to reset the device chip anymore when
> stopping.
>
> This reduces driver register time approx. by 200ms.
>
> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ath10k/pci.c | 7 -------
>  1 file changed, 7 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
> index 7efcf8e..6a5ca9e 100644
> --- a/drivers/net/wireless/ath/ath10k/pci.c
> +++ b/drivers/net/wireless/ath/ath10k/pci.c
> @@ -1192,13 +1192,6 @@ static void ath10k_pci_hif_stop(struct ath10k *ar)
>
>         ath10k_pci_buffer_cleanup(ar);
>
> -       /* Make the sure the device won't access any structures on the host by
> -        * resetting it. The device was fed with PCI CE ringbuffer
> -        * configuration during init. If ringbuffers are freed and the device
> -        * were to access them this could lead to memory corruption on the
> -        * host. */
> -       ath10k_pci_warm_reset(ar);
> -
>         ar_pci->started = 0;

If firmware crashes it doesn't necessarily mean hardware has crashed
as well. Since htt rx ring dma buffer is fed directly to hardware it
can still be accessed even after firmware has crashed (e.g. receive
beacons in station mode). This means calling hif_stop must guarantee
to stop hardware completely or else it might corrupt host memory
(notably sk_buffs; pretty badly - I've been hitting general protection
faults randomly and was puzzled at first).

Thus this patch has to be dropped (I'll probably replace it with a
patch to update the comment only).


Michał
--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux