On Thu, 3 Apr 2025, Marek Marczykowski-Górecki wrote:
> Change how PCI device lookup is done to handle also USB devices, in
> which case get the USB controller. Instead of taking basename of the
> 'device' symlink, resolve the full path (example:
> /sys/devices/pci0000:00/0000:00:09.0/usb4/4-7/4-7:1.0) and take the
> first part after pci0000:00. Theoretically it could be a bridge, but VM
> has flat PCI topology.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com>
> ---
>  automation/scripts/qubes-x86-64.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/automation/scripts/qubes-x86-64.sh 
> b/automation/scripts/qubes-x86-64.sh
> index 6d2c170d1ee1..dc8013750f5f 100755
> --- a/automation/scripts/qubes-x86-64.sh
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -110,7 +110,8 @@ timeout 30s udhcpc -i \"\$interface\"
>  pingip=\$(ip -o -4 r show default|cut -f 3 -d ' ')
>  ping -c 10 \"\$pingip\"
>  echo domU started
> -pcidevice=\$(basename \$(readlink /sys/class/net/\$interface/device))
> +pcidevice=\$(realpath /sys/class/net/\$interface/device |
> +             sed 's#.*pci0000:00/\\([^/]*\\).*#\\1#')

This is still a bit fragile but better than before

Reviewed-by: Stefano Stabellini <sstabell...@kernel.org>


>  lspci -vs \$pcidevice
>  "
>          if [ -n "$PCIDEV_INTR" ]; then
> -- 
> git-series 0.9.1
> 

Reply via email to