2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/tools/usb/usbip/src/usbip_port.c
Galen Guyer 0c7f35d26b usbip: give a more helpful error message if vhdi_hcd isn't loaded
Suggest loading vhdi_hcd if it's not loaded to make error message less opaque

Signed-off-by: Galen Guyer <galen@galenguyer.com>
Reviewed-By: Hongren Zheng <i@zenithal.me>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230508212120.435329-1-galen@galenguyer.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-05-29 15:11:21 +01:00

58 lines
1.1 KiB
C

// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
* 2005-2007 Takahiro Hirofuchi
*/
#include "vhci_driver.h"
#include "usbip_common.h"
static int list_imported_devices(void)
{
int i;
struct usbip_imported_device *idev;
int ret;
if (usbip_names_init(USBIDS_FILE))
err("failed to open %s", USBIDS_FILE);
ret = usbip_vhci_driver_open();
if (ret < 0) {
err("open vhci_driver (is vhci_hcd loaded?)");
goto err_names_free;
}
printf("Imported USB devices\n");
printf("====================\n");
for (i = 0; i < vhci_driver->nports; i++) {
idev = &vhci_driver->idev[i];
if (usbip_vhci_imported_device_dump(idev) < 0)
goto err_driver_close;
}
usbip_vhci_driver_close();
usbip_names_free();
return ret;
err_driver_close:
usbip_vhci_driver_close();
err_names_free:
usbip_names_free();
return -1;
}
int usbip_port_show(__attribute__((unused)) int argc,
__attribute__((unused)) char *argv[])
{
int ret;
ret = list_imported_devices();
if (ret < 0)
err("list imported devices");
return ret;
}