--- zzzz-none-000/linux-4.19.183/drivers/usb/core/driver.c 2021-03-24 10:07:39.000000000 +0000 +++ bcm63-7530ax-756/linux-4.19.183/drivers/usb/core/driver.c 2023-06-28 08:54:20.000000000 +0000 @@ -305,6 +305,14 @@ return error; } +#ifdef CONFIG_AVM_KERNEL + /* == 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); @@ -368,6 +376,11 @@ 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; @@ -468,6 +481,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); @@ -527,6 +543,12 @@ 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