[libvirt] [PATCH] node_device: udev: Use base 16 for product/vendor

Dave Allan dallan at redhat.com
Tue Jan 12 21:30:06 UTC 2010


On 01/12/2010 03:26 PM, Cole Robinson wrote:
> udev doesn't prefix USB product/vendor info with '0x', so the
> strtol conversions were wrong for the product field (vendor already
> set the correct base). Make the change for PCI product/vendor as
> well to be safe.
>
> This fixes USB device assignment via virt-manager.
>
> Signed-off-by: Cole Robinson<crobinso at redhat.com>
> ---
>   src/node_device/node_device_udev.c |    6 +++---
>   1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
> index 7a9c1e5..55cfee2 100644
> --- a/src/node_device/node_device_udev.c
> +++ b/src/node_device/node_device_udev.c
> @@ -457,14 +457,14 @@ static int udevProcessPCI(struct udev_device *device,
>       if (udevGetUintSysfsAttr(device,
>                                "vendor",
>                                &data->pci_dev.vendor,
> -                             0) == PROPERTY_ERROR) {
> +                             16) == PROPERTY_ERROR) {
>           goto out;
>       }
>
>       if (udevGetUintSysfsAttr(device,
>                                "device",
>                                &data->pci_dev.product,
> -                             0) == PROPERTY_ERROR) {
> +                             16) == PROPERTY_ERROR) {
>           goto out;
>       }
>
> @@ -522,7 +522,7 @@ static int udevProcessUSBDevice(struct udev_device *device,
>       if (udevGetUintProperty(device,
>                               "ID_MODEL_ID",
>                               &data->usb_dev.product,
> -                            0) == PROPERTY_ERROR) {
> +                            16) == PROPERTY_ERROR) {
>           goto out;
>       }
>

ACK.

Dave




More information about the libvir-list mailing list