--- zzzz-none-000/linux-4.1.52/drivers/usb/core/driver.c 2018-05-28 02:26:45.000000000 +0000 +++ bcm63-7530ax-731/linux-4.1.52/drivers/usb/core/driver.c 2022-03-02 11:37:13.000000000 +0000 @@ -297,6 +297,13 @@ return error; } +#if 1 /* == 20160222 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); @@ -360,6 +367,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; @@ -462,6 +473,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); @@ -533,6 +547,10 @@ } } + /* == 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