* resending with corrected email address from Kalle
--------------------------------------------------------------------
+ Michał
On 3/22/2019 8:25 PM, Christian Lamparter wrote:
> On Friday, March 22, 2019 7:58:40 PM CET Tomislav Požega wrote:
>> When chip reset is done before the chip is checked if supported
>> there will be crash. Previous behaviour caused bootloops on
>> Archer C7 v1 units, this patch allows clean device boot without
>> excluding ath10k driver.
>>
> You need
>
> Fixes: 1a7fecb766c8 ("ath10k: reset chip before reading chip_id in
probe")
>
> too
Looking at the commit subject makes me suspicious whether this is a
proper fix.
>> Signed-off-by: Tomislav Požega <pozega.tomislav@xxxxxxxxx>
>> ---
>> drivers/net/wireless/ath/ath10k/pci.c | 12 ++++++------
>> 1 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/pci.c
b/drivers/net/wireless/ath/ath10k/pci.c
>> index e24403c..ec681da 100644
>> --- a/drivers/net/wireless/ath/ath10k/pci.c
>> +++ b/drivers/net/wireless/ath/ath10k/pci.c
>> @@ -3619,12 +3619,6 @@ static int ath10k_pci_probe(struct pci_dev *pdev,
>> goto err_deinit_irq;
>> }
>>
>> - ret = ath10k_pci_chip_reset(ar);
>> - if (ret) {
>> - ath10k_err(ar, "failed to reset chip: %d\n", ret);
>> - goto err_free_irq;
>> - }
>> -
>> bus_params.dev_type = ATH10K_DEV_TYPE_LL;
>> bus_params.link_can_suspend = true;
>> bus_params.chip_id = ath10k_pci_soc_read32(ar, SOC_CHIP_ID_ADDRESS);
It seems to me the chip reset was done explicitly *before* reading the
chipid for a reason.
"""
ath10k: reset chip before reading chip_id in probe
There are some very rare cases with some hardware
configuration that the device doesn't init quickly
enough in which case reading chip_id yielded 0.
This caused driver to subsequently fail to setup
the device.
Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx>
"""
Might be the ath10k_pci_chip_reset() function needs to be modified to
work properly for Archer C7 v1 units.
Regards,
Arend