--- zzzz-none-000/linux-4.9.276/drivers/usb/core/driver.c 2021-07-20 14:21:16.000000000 +0000 +++ falcon-5530-750/linux-4.9.276/drivers/usb/core/driver.c 2023-04-05 08:19:02.000000000 +0000 @@ -302,6 +302,13 @@ return error; } +#if 1 /* == 20170908 AVM/VGJ - CHANGESET: noprobe Extension for AURA == */ + if (udev->noprobe) { + dev_err(&intf->dev, "Probing is disabled for this device\n"); + return error; + } +#endif + id = usb_match_dynamic_id(intf, driver); if (!id) id = usb_match_id(intf, driver->id_table); @@ -365,6 +372,10 @@ if (!lpm_disable_error) usb_unlocked_enable_lpm(udev); + /* == 20180328 AVM/VGJ - Inc USB use counter -> prevents suspension + * The interface's driver must dec the counter to allow suspension ==*/ + avm_usb_suspend_get_locked(udev); + usb_autosuspend_device(udev); return error; @@ -465,6 +476,9 @@ if (!lpm_disable_error) usb_unlocked_enable_lpm(udev); + /* == 20180328 AVM/VGJ - Dec USB use counter -> allows suspension ==*/ + avm_usb_suspend_put_locked(udev); + /* Unbound interfaces are always runtime-PM-disabled and -suspended */ if (driver->supports_autosuspend) pm_runtime_disable(dev); @@ -524,6 +538,10 @@ iface->condition = USB_INTERFACE_BOUND; + /* == 20180328 AVM/VGJ - Inc USB use counter -> prevents suspension + * The interface's driver must dec the counter to allow suspension ==*/ + avm_usb_suspend_get_locked(interface_to_usbdev(iface)); + /* Claimed interfaces are initially inactive (suspended) and * runtime-PM-enabled, but only if the driver has autosuspend * support. Otherwise they are marked active, to prevent the