--- x/drivers/usb/usbip/vhci_sysfs.c +++ y/drivers/usb/usbip/vhci_sysfs.c @@ -76,6 +76,8 @@ static ssize_t status_show_vhci(int pdev } hcd = platform_get_drvdata(pdev); + if (!usb_hcd_is_primary_hcd(hcd)) + return 0; vhci_hcd = hcd_to_vhci_hcd(hcd); vhci = vhci_hcd->vhci; --- x/net/core/dev.c +++ y/net/core/dev.c @@ -10260,14 +10260,19 @@ static bool from_cleanup_net(void) #endif } +static unsigned long extra_netdev_locks = 1; static void rtnl_drop_if_cleanup_net(void) { + if (extra_netdev_locks) + return; if (from_cleanup_net()) __rtnl_unlock(); } static void rtnl_acquire_if_cleanup_net(void) { + if (extra_netdev_locks) + return; if (from_cleanup_net()) rtnl_lock(); }