Qualcomm Atheros AR93xx reset behavior

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

 



Hi,

This is a question not about the wireless properties of the Atheros
AR93xx, but about the PCIe bus reset behavior.  We have a user reporting
errors with a TP-LINK TL-WDN4800 and I've acquired the same card and
have been able to reproduce the error on two systems.  The problem is
that if we attempt to do a secondary bus reset or link down from the
parent bridge of these devices, the card will throw errors like Surprise
Down and never seems to return to a working state, sometimes throwing
machine checks if we attempt to access config space again.

The reason for attempting bus resets is that we want to use PCI device
assignment to attach the device to a virtual machine.  Performing a bus
reset puts the device in a known state for the VM and clears any guest
state from the device when returning it to the host.  For most devices
this works quite well, especially when the device does not support FLR.
In this case we need to figure out if we need a blacklist mechanism to
avoid bus resets for this device or whether there's a procedure we can
use to create a device specific reset in place of a standard bus reset.

The specific device is:

xx:xx.x Network controller [0280]: Qualcomm Atheros AR93xx Wireless Network Adapter [168c:0030] (rev 01)
        Subsystem: Qualcomm Atheros Device [168c:3112]

Is there anyone with access to hardware specs for this device that can
help?  Perhaps there's an errata on the PCIe interface that might
explain it or some specific steps we can take to make the device behave
for reset.  Thanks!

Alex

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




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux